3啟動選項和系統變數

2021-10-05 10:37:18 字數 3721 閱讀 1659

1.2 配置檔案中使用選項

1.3 命令列和配置檔案中啟動選項的區別

2. 系統變數

3. 啟動選項和系統變數的區別

4. 狀態變數

在程式啟動時指定的設定項稱之為啟動選項,這些選項控制著程式啟動後的行為。

這些啟動引數可以放在命令列中指定,也可以放在配置檔案中指定。

#啟動伺服器程式的時候就禁止各客戶端使用tcp/ip網路進行通訊

mysqld --skip-networking

#改變表的預設儲存引擎的話

mysqld --default-storage-engine=myisam

每個mysql程式都有許多不同的選項。大多數程式提供了乙個–help選項,你可以檢視該程式支援的全部啟動選項以及它們的預設值。

檢視mysql程式支援的啟動選項

mysql --help

長形式		短形式		含義

--host -h 主機名

--user -u 使用者名稱

--password -p 密碼

--port -p 埠

--version -v 版本資訊

短形式的選項名只有乙個字母,與使用長形式選項時需要在選項名前加兩個短劃線–不同的是,使用短形式選項時在選項名前只加乙個短劃線-字首。

#在啟動伺服器程式時指定監聽的埠號:

mysqld -p3307

mysqld -p 3307

使用短形式指定啟動選項時,選項名和選項值之間可以沒有間隙,或者用空白字元隔開(-p選項有些特殊,-p和密碼值之間不能有空白字元)

略配置檔案中的啟動選項被劃分為若干個組,每個組有乙個組名,用中括號[ ]擴起來。每個組下邊可以定義若干個啟動選項

[server]

option1 #這是option1,該選項不需要選項值

option2 = value2 #這是option2,該選項需要選項值

在配置檔案中指定啟動選項的語法類似於命令列語法,但是配置檔案中只能使用長形式的選項。

在配置檔案中指定的啟動選項不允許加–字首,並且每行只指定乙個選項,而且=周圍可以有空白字元(命令列中選項名、=、選項值之間不允許有空白字元)

#命令列中指定option1和option2兩個選項

--option1 --option2=value2

配置檔案中不同的選項組是給不同的啟動命令使用的,如果選項組名稱與程式名稱相同,則組中的選項將專門應用於該程式。例如, [mysqld]和[mysql]組分別應用於mysqld伺服器程式和mysql客戶端程式。不過有兩個選項組比較特別:

[server]組下邊的啟動選項將作用於所有的伺服器程式。

[client]組下邊的啟動選項將作用於所有的客戶端程式。

啟動命令			  類別			能讀取的組

mysqld 啟動伺服器 [mysqld]、[server]

mysqld_safe 啟動伺服器 [mysqld]、[server]、[mysqld_safe]

mysql.server 啟動伺服器 [mysqld]、[server]、[mysql.server]

mysql 啟動客戶端 [mysql]、[client]

mysqladmin 啟動客戶端 [mysqladmin]、[client]

mysqldump 啟動客戶端 [mysqldump]、[client]

mysql將按照一定的順序依次讀取各個配置檔案(與作業系統有關),如果該檔案不存在則忽略。如果我們在多個配置檔案中設定了相同的啟動選項,那以最後乙個配置檔案中的為準。

最後乙個出現的組中的啟動選項為準

如果同乙個啟動選項既出現在命令列中,又出現在配置檔案中,那麼以命令列中的啟動選項為準

mysql伺服器程式執行過程中會用到許多影響程式行為的變數,它們被稱為mysql系統變數

#show variables [like 匹配的模式];

mysql> show variables like 'default_storage_engine';

大部分的系統變數都可以通過啟動伺服器時傳送啟動選項的方式來進行設定。

#通過命令列新增啟動選項。

mysqld --default-storage-engine=myisam --max-connections=10

#通過配置檔案新增啟動選項。

[server]

default-storage-engine=myisam

max-connections=10

對於大部分系統變數來說,它們的值可以在伺服器程式執行過程中進行動態修改而無需停止並重啟伺服器。不過系統變數有作用範圍之分

global:全域性變數,影響伺服器的整體操作。

session:會話變數,影響某個客戶端連線的操作。(注:session有個別名叫local)

#把作用範圍為global的系統變數default_storage_engine的值修改為myisam

#之後新連線到伺服器的客戶端都用myisam作為預設的儲存引擎

#二選一

set global default_storage_engine = myisam;

set @@global.default_storage_engine = myisam;

#只對本客戶端生效

#三選一

set session default_storage_engine = myisam;

set @@session.default_storage_engine = myisam;

set default_storage_engine = myisam;

如果在設定系統變數的語句中省略了作用範圍,預設的作用範圍就是session。也就是說set 系統變數名 = 值和set session 系統變數名 = 值是等價的。

注意事項

並不是所有系統變數都具有global和session的作用範圍。

有些系統變數是唯讀的,並不能設定值。

啟動選項:是在程式啟動時我們程式設計師傳遞的一些引數

系統變數:是影響伺服器程式執行行為的變數

· 大部分的系統變數都可以被當作啟動選項傳入。

· 有些系統變數是在程式執行過程中自動生成的,是不可以當作啟動選項來設定,比如auto_increment_offset、character_set_client啥的。

· 有些啟動選項也不是系統變數,比如defaults-file。

為了讓我們更好的了解伺服器程式的運**況,mysql伺服器程式中維護了好多關於程式執行狀態的變數,它們被稱為狀態變數。

由於狀態變數是用來顯示伺服器程式執行狀況的,所以它們的值只能由伺服器程式自己來設定,我們程式設計師是不能設定的

#檢視狀態變數的語句

show [global|session] status [like 匹配的模式];

mysql> show status like 'thread%';

GCC編譯選項和環境變數

本文由gcc手冊翻譯得到,英語能力有限,翻譯得不太好,僅為自己做記錄,用於理解gcc編譯時標頭檔案及庫檔案的查詢路徑問題。idir 表示增加dir為標頭檔案的搜尋路徑,這個路徑優先於系統的預設路徑,所以用自己指定的標頭檔案來替代系統預設的標頭檔案。但是不要用這個選項來指定路徑不要包括 商提供的系統標...

GCC編譯選項和環境變數

本文由gcc手冊翻譯得到,英語能力有限,翻譯得不太好,僅為自己做記錄,用於理解gcc編譯時標頭檔案及庫檔案的查詢路徑問題。idir 表示增加dir為標頭檔案的搜尋路徑,這個路徑優先於系統的預設路徑,所以用自己指定的標頭檔案來替代系統預設的標頭檔案。但是不要用這個選項來指定路徑不要包括 商提供的系統標...

第二章Mysql的調控按鈕 啟動選項和系統變數

一般在啟動的時候加的引數稱為啟動選項,啟動選項可以在配置檔案中設定,也可以以啟動引數的形式設定,對於服務度的啟動mysqld或者mysqld safe等還是客戶端的啟動mysql或者mysqladmin的啟動都可以設定啟動項。2.1.1在命令列上使用選項1 禁止使用tcp ip mysqld ski...