MySQL數(shù)據(jù)庫配置啟動(dòng)參數(shù)和系統(tǒng)變量

這篇文章給大家分享的是有關(guān)MySQL數(shù)據(jù)庫配置啟動(dòng)參數(shù)和系統(tǒng)變量的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí)。如下資料是關(guān)于啟動(dòng)選項(xiàng)和系統(tǒng)變量的內(nèi)容。

創(chuàng)新互聯(lián) - 四川雅安服務(wù)器托管,四川服務(wù)器租用,成都服務(wù)器租用,四川網(wǎng)通托管,綿陽服務(wù)器托管,德陽服務(wù)器托管,遂寧服務(wù)器托管,綿陽服務(wù)器托管,四川云主機(jī),成都云主機(jī),西南云主機(jī),四川雅安服務(wù)器托管,西南服務(wù)器托管,四川/成都大帶寬,機(jī)柜大帶寬,四川老牌IDC服務(wù)商

啟動(dòng)選項(xiàng)

命令行

在MySQL服務(wù)命令啟動(dòng)時(shí),帶上配置參數(shù)

命令格式:
啟動(dòng)命令 --啟動(dòng)選項(xiàng)1[=值1] --啟動(dòng)選項(xiàng)2[=值2] ... --啟動(dòng)選項(xiàng)n[=值n]
例如:
mysqld --default-storage-engine=MyISAM //設(shè)置默認(rèn)存儲(chǔ)引擎
錯(cuò)誤例子:
mysqld --default-storage-engine = MyISAM //設(shè)置默認(rèn)存儲(chǔ)引擎
原因:
因?yàn)閱?dòng)項(xiàng)和值之間的等號(hào)不能有空格
參數(shù)的長形式和短形式

配置參數(shù)有長形式和短形式之分,有些作用是一樣的,只是寫法不同而已

--host => -h //主機(jī)
--port => -P // 端口
--user => -u //用戶
--password => -p //密碼
--version => -V //版本
......
例子:
mysqld --port=3306
mysqld -P3306
mysqld -P 3306
注意:
密碼不能有空格
mysqld -proot

配置文件

配置文件my.cnf的位置,有可能是以下的幾種,如MySQL服務(wù)啟動(dòng)時(shí)未指定配置文件時(shí),會(huì)從以下地方查找讀取并初始化。

* /etc/my.cnf 
* /etc/mysql/my.cnf
* defaults-extra-file //指定的額外配置文件路徑
* SYSCONFDIR/my.cnf //cmake編譯安裝情況
* $MYSQL_HOME/my.cnf //設(shè)置環(huán)境變量,默認(rèn)安裝路徑
* ~/.my.cnf  //用戶特定選項(xiàng),家目錄
* ~/.mylogin.cnf //用戶特定的登錄路徑選項(xiàng)(僅限客戶端),mysql_config_editor修改,不是純文件
注意
1. 在配置文件中指定的啟動(dòng)選項(xiàng)不允許加--前綴,并且每行只指定一個(gè)選項(xiàng),而且=周圍可以有空白字符
2. 如果我們?cè)诙鄠€(gè)配置文件中設(shè)置了相同的啟動(dòng)選項(xiàng),那以最后一個(gè)配置文件中的為準(zhǔn)
3. 如果同一個(gè)啟動(dòng)選項(xiàng)既出現(xiàn)在命令行中,又出現(xiàn)在配置文件中,那么以命令行中的啟動(dòng)選項(xiàng)為準(zhǔn)
4. mysqld --defaults-file=/tmp/myconfig.txt  
//在程序啟動(dòng)的時(shí)候?qū)⒅辉?tmp/myconfig.txt路徑下搜索配置文件。如果文件不存在或無法訪問,則會(huì)發(fā)生錯(cuò)誤
配置組

配置文件一共可以以下這些組別:mysqld、mysqld_safe、mysql.server、mysql、mysqladmin、mysqldump,可以針對(duì)不同組別進(jìn)行配置

MySQL數(shù)據(jù)庫配置啟動(dòng)參數(shù)和系統(tǒng)變量

內(nèi)容格式
[server]
(具體的啟動(dòng)選項(xiàng)...)
[mysqld]
(具體的啟動(dòng)選項(xiàng)...)
[mysqld_safe]
(具體的啟動(dòng)選項(xiàng)...)
[client]
(具體的啟動(dòng)選項(xiàng)...)
[mysql]
(具體的啟動(dòng)選項(xiàng)...)
[mysqladmin]
(具體的啟動(dòng)選項(xiàng)...)
例子:
[mysqld]
pid-file          = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log
# 優(yōu)化配置
wait_timeout=10
back_log=600
key_buffer_size = 2048M
read_buffer_size = 100M
max_allowed_packet      = 1000M
thread_stack            = 192K
thread_cache_size       = 4
myisam-recover-options  = BACKUP
max_connections        = 4000
max_user_connections = 0
max_connect_errors = 65535
open_files_limit = 10240
......
注意
1. [server]組下邊的啟動(dòng)選項(xiàng)將作用于所有的服務(wù)器程序,如mysqld、mysqld_safe、mysql.server
2. [client]組下邊的啟動(dòng)選項(xiàng)將作用于所有的客戶端程序,如mysql、mysqladmin、mysqldump
3. 同一個(gè)配置文件中多個(gè)組的優(yōu)先級(jí),將以最后一個(gè)出現(xiàn)的組中的啟動(dòng)選項(xiàng)為準(zhǔn)

系統(tǒng)變量

MySQL服務(wù)器程序運(yùn)行過程中會(huì)用到許多影響程序行為的變量,它們被稱為MySQL系統(tǒng)變量。

例如:
1. 允許同時(shí)連入的客戶端數(shù)量用系統(tǒng)變量max_connections表示
2. 表的默認(rèn)存儲(chǔ)引擎用系統(tǒng)變量default_storage_engine表示
3. 查詢緩存的大小用系統(tǒng)變量query_cache_size表示
......

查看

格式:
SHOW VARIABLES [LIKE 匹配的模式];
例如:
SHOW VARIABLES LIKE 'default_storage_engine';

MySQL數(shù)據(jù)庫配置啟動(dòng)參數(shù)和系統(tǒng)變量

設(shè)置

通過啟動(dòng)項(xiàng)設(shè)置
mysqld --default-storage-engine=MyISAM --max-connections=10
[mysqld]
default-storage-engine = MyISAM
max-connections = 10
......
注意:
對(duì)于啟動(dòng)選項(xiàng)來說,如果啟動(dòng)選項(xiàng)名由多個(gè)單詞組成,各個(gè)單詞之間用短劃線-或者下劃線_連接起來都可以,但是它對(duì)應(yīng)的系統(tǒng)變量的單詞之間必須使用下劃線_連接起來(即通過show查看或set設(shè)置時(shí))
服務(wù)器程序運(yùn)行過程中設(shè)置

系統(tǒng)變量比較牛逼的一點(diǎn)就是,對(duì)于大部分系統(tǒng)變量來說,它們的值可以在服務(wù)器程序運(yùn)行過程中進(jìn)行動(dòng)態(tài)修改而無需停止并重啟服務(wù)器

不過系統(tǒng)變量有全局和當(dāng)前會(huì)話作用域之分

作用域

GLOBAL:全局變量,影響服務(wù)器的整體操作。
SESSION:會(huì)話變量,影響某個(gè)客戶端連接的操作。(別名叫LOCAL)
格式:
1\. SET [GLOBAL|SESSION] 系統(tǒng)變量名 = 值;
2\. SET [@@(GLOBAL|SESSION).]var_name = XXX;
global
例如:
1\. SET GLOBAL default_storage_engine = InnoDB;
2\. SET @@GLOBAL.default_storage_engine = InnoDB;
session
例如:
1\. SET SESSION default_storage_engine = InnoDB;
2\. SET @@SESSION.default_storage_engine = InnoDB;
3\. SET default_storage_engine = InnoDB;//默認(rèn) session
查看
格式:SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式];
1\. SHOW SESSION VARIABLES LIKE 'default_storage_engine';
2\. SHOW GLOBAL VARIABLES LIKE 'default_storage_engine';

注意:
如果某個(gè)客戶端改變了某個(gè)系統(tǒng)變量在GLOBAL作用范圍的值,并不會(huì)影響該系統(tǒng)變量在當(dāng)前已經(jīng)連接的客戶端作用范圍為SESSION的值,只會(huì)影響后續(xù)連入的客戶端在作用范圍為SESSION的值。

補(bǔ)充說明
* 有一些系統(tǒng)變量只具有GLOBAL作用范圍,比方說max_connections,表示服務(wù)器程序支持同時(shí)最多有多少個(gè)客戶端程序進(jìn)行連接
* 有一些系統(tǒng)變量只具有SESSION作用范圍,比如insert_id,表示在對(duì)某個(gè)包含AUTO_INCREMENT列的表進(jìn)行插入時(shí),該列初始的值
* 有一些系統(tǒng)變量的值既具有GLOBAL作用范圍,也具有SESSION作用范圍,比如我們前邊用到的default_storage_engine,而且其實(shí)大部分的系統(tǒng)變量都是這樣的
比方說version,表示當(dāng)前MySQL的版本,我們客戶端是不能設(shè)置它的值的,只能在SHOW VARIABLES語句里查看。
啟動(dòng)選項(xiàng)與系統(tǒng)變量的關(guān)系

啟動(dòng)選項(xiàng)是在程序啟動(dòng)時(shí)我們程序員傳遞的一些參數(shù),而系統(tǒng)變量是影響服務(wù)器程序運(yùn)行行為的變量

* 大部分的系統(tǒng)變量都可以被當(dāng)作啟動(dòng)選項(xiàng)傳入
* 有些系統(tǒng)變量是在程序運(yùn)行過程中自動(dòng)生成的,是不可以當(dāng)作啟動(dòng)選項(xiàng)來設(shè)置,比如auto_increment_offset、character_set_client啥的
* 有些啟動(dòng)選項(xiàng)也不是系統(tǒng)變量,比如defaults-file

狀態(tài)變量

為了讓我們更好的了解服務(wù)器程序的運(yùn)行情況,MySQL服務(wù)器程序中維護(hù)了好多關(guān)于程序運(yùn)行狀態(tài)的變量,它們被稱為狀態(tài)變量。

比方說Threads_connected表示當(dāng)前有多少客戶端與服務(wù)器建立了連接,Handler_update表示已經(jīng)更新了多少行記錄

由于狀態(tài)變量是用來顯示服務(wù)器程序運(yùn)行狀況的,所以它們的值只能由服務(wù)器程序自己來設(shè)置,我們程序員是不能設(shè)置的

查看

格式:
SHOW [GLOBAL|SESSION] STATUS [LIKE 匹配的模式];
例如:
SHOW STATUS LIKE 'thread%';

MySQL數(shù)據(jù)庫配置啟動(dòng)參數(shù)和系統(tǒng)變量

看完這篇文章,你們學(xué)會(huì)MySQL數(shù)據(jù)庫配置啟動(dòng)參數(shù)和系統(tǒng)變量了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。

網(wǎng)站標(biāo)題:MySQL數(shù)據(jù)庫配置啟動(dòng)參數(shù)和系統(tǒng)變量
網(wǎng)址分享:http://bm7419.com/article46/pcceeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司電子商務(wù)、品牌網(wǎng)站制作外貿(mào)建站、用戶體驗(yàn)網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司