MySQL 配置文件 my.cnf / my.ini 區(qū)別解析
充分理解 MySQL 配置文件中各個(gè)變量的意義對(duì)我們有針對(duì)性的優(yōu)化 MySQL 數(shù)據(jù)庫(kù)性能有非常大的意義。我們需要根據(jù)不同的數(shù)據(jù)量級(jí),不同的生產(chǎn)環(huán)境情況對(duì) MySQL 配置文件進(jìn)行優(yōu)化。
一、配置文件my.ini或my.cnf的位置
Windows 和 Linux 下的 MySQL 配置文件的名字和存放位置都是不同的:
1、WIndows 下 MySQL 配置文件是 my.ini 存放在 MySQL 安裝目錄的根目錄下;
2、Linux 下 MySQL 配置文件是 my.cnf 存放在 /etc/my.cnf、/etc/mysql/my.cnf。我們也可以通過(guò) find 命令進(jìn)行查找。
1)find /etc -name my.cnf --在/etc目錄下的文件my.cnf 2)find /etc -name '*cnf*' --使用通配符*(0或者任意多個(gè))。表示在/etc目錄下查找文件名中含有字符串‘cnf'的文件 3)find / -name my.cnf --在根目錄下查找文件my.cnf,表示在整個(gè)硬盤(pán)查找 4)find . -name 'cnf*' --表示當(dāng)前目錄下查找文件名開(kāi)頭是字符串‘cnf'的文件
3、另外要注意的是,Linux用rpm包安裝的MySQL是不會(huì)安裝/etc/my.cnf文件的。
至于為什么沒(méi)有這個(gè)文件而MySQL卻也能正常啟動(dòng)和作用,有兩個(gè)說(shuō)法:
第一種說(shuō)法,my.cnf只是MySQL啟動(dòng)時(shí)的一個(gè)參數(shù)文件,可以沒(méi)有它,這時(shí)MySQL會(huì)用內(nèi)置的默認(rèn)參數(shù)啟動(dòng);
第二種說(shuō)法,MySQL在啟動(dòng)時(shí)自動(dòng)使用/usr/share/mysql目錄下的my-medium.cnf文件,這種說(shuō)法僅限于rpm包安裝的MySQL。
解決方法:只需要復(fù)制一個(gè)/usr/share/mysql目錄下的.cnf文件到/etc目錄,并改名為my.cnf即可。
二、配置文件my.cnf的內(nèi)容詳解
[mysqld] # 指定Mysql數(shù)據(jù)庫(kù)的開(kāi)放端口。 port = 3306 # 設(shè)置Mysql數(shù)據(jù)庫(kù)的安裝目錄(絕對(duì)路徑)。 basedir = /usr/local/mysql # 設(shè)置Mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)存放的絕對(duì)路徑(存放目錄)。必須是data,或者是\\xxx-data(my.ini需要,my.cnf不需要)。 datadir = /www/server/data # 設(shè)置MySQL數(shù)據(jù)庫(kù)的最大連接數(shù)量。如果服務(wù)器的并發(fā)連接請(qǐng)求量比較大,建議調(diào)高此值,以增加并行連接數(shù)量??梢赃^(guò)'%connect%'通配符查看當(dāng)前狀態(tài)的連接數(shù)量,以定奪該值的大小。 max_connections = 100 # 設(shè)置MySQL數(shù)據(jù)庫(kù)的連接超時(shí)時(shí)間。默認(rèn)設(shè)置是一個(gè)數(shù)據(jù)庫(kù)連接超過(guò)8小時(shí)沒(méi)有使用,達(dá)到了server端的timeout,服務(wù)器將斷開(kāi)這條連接,此后再通過(guò)這個(gè)connection發(fā)起查詢(xún)操作都將失敗。超時(shí)等待時(shí)間,單位秒,即一個(gè)connection在若干秒內(nèi)無(wú)響應(yīng),則服務(wù)器切斷與這個(gè)客戶(hù)端的連接。 wait_timeout = 28800 # 當(dāng)沒(méi)有數(shù)據(jù)庫(kù)請(qǐng)求時(shí),28800秒(即8小時(shí))將自動(dòng)斷開(kāi)連接。要同時(shí)設(shè)置interactive_timeout和wait_timeout才會(huì)生效。 interactive_timeout = 28800
?三、配置文件my.cnf的內(nèi)容查找
# 查看并發(fā)數(shù) mysql> show status like 'Threads%'; # 查看mysql服務(wù)器的最大連接數(shù)值 mysql> show variables like '%max_connections%'; # 查看mysql服務(wù)器響應(yīng)的最大連接數(shù): mysql> show global status like 'Max_used_connections';
四、配置文件my.cnf的內(nèi)容修改
# 設(shè)置mysql服務(wù)器的最大連接數(shù)值 mysql> set GLOBAL max_connections=256;
到此這篇關(guān)于MySQL 配置文件 my.cnf / my.ini 區(qū)別的文章就介紹到這了,更多相關(guān)mysql my.cnf / my.ini 區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
面試官問(wèn)訂單ID是如何生成的?難道不是MySQL自增主鍵
最近在考慮訂單id怎么生成,下面這篇文章主要給大家介紹了關(guān)于面試官問(wèn)訂單ID是如何生成的?難道不是MySQL自增主鍵的相關(guān)資料,需要的朋友可以參考下2023-02-02
MySQL索引下推index condition pushdown
索引下推是MySQL 5.6版本引入的一種數(shù)據(jù)庫(kù)查詢(xún)優(yōu)化技術(shù),本文主要介紹了MySQL索引下推index condition pushdown,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08
阿里云服務(wù)器手動(dòng)實(shí)現(xiàn)mysql雙機(jī)熱備的兩種方式
阿里云服務(wù)器由于不支持keepalive虛擬ip,導(dǎo)致無(wú)法通過(guò)keepalive來(lái)實(shí)現(xiàn)mysql的雙機(jī)熱備。我們這里要實(shí)現(xiàn)阿里云的雙機(jī)熱備有兩種方式。感興趣的朋友跟隨小編一起看看吧2019-10-10
MySQL數(shù)據(jù)庫(kù)優(yōu)化技術(shù)之配置技巧總結(jié)
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)優(yōu)化技術(shù)之配置技巧,較為詳細(xì)的總結(jié)分析了MySQL進(jìn)行硬件級(jí)軟件優(yōu)化的相關(guān)方法與注意事項(xiàng),需要的朋友可以參考下2016-07-07
php下巧用select語(yǔ)句實(shí)現(xiàn)mysql分頁(yè)查詢(xún)
mysql分頁(yè)查詢(xún)是我們經(jīng)常見(jiàn)到的問(wèn)題,那么應(yīng)該如何實(shí)現(xiàn)呢?下面就教您一個(gè)實(shí)現(xiàn)mysql分頁(yè)查詢(xún)的好方法,供您參考學(xué)習(xí)。2010-12-12

