首先先看看你的mysql在哪,通過which命令
10年積累的網(wǎng)站設計、成都網(wǎng)站建設經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先建設網(wǎng)站后付款的網(wǎng)站建設流程,更有黃石免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
which mysql
顯示出目錄比如我的是下面這個
/usr/bin/mysql
接下來就可以針對這個目錄通過一些命令查看配置文件在哪了,如下
/usr/bin/mysql --verbose --help | grep -A 1 'Default options'
然后在下面會出現(xiàn)一些信息比如我的
Default options are read from the following files in the given order:
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf
這個信息的意思是:
服務器首先讀取的是/etc/mysql/my.cnf文件,如果前一個文件不存在則繼續(xù)讀/etc/my.cnf文件,如若還不存在便會去讀~/.my.cnf文件
1.linux下查看mysql的配置文件
[root@localhost ~]# vi /etc/my.cnf
2.查看mysql端口
[root@localhost ~]# vi /etc/my.cnf
在mysql的配置文件可以查看到端口port=3306
查找my.cnf文件路徑;
從上可以看出, 服務器首先會讀取/etc/my.cnf文件,如果發(fā)現(xiàn)該文件不存在,再依次嘗試從后面的幾個路徑進行讀取。
參數(shù)詳解:
[client] #客戶端設置,即客戶端默認的連接參數(shù)
port = 3307 #默認連接端口
socket = /data/mysqldata/3307/mysql.sock #用于本地連接的socket套接字
default-character-set = utf8mb4 #編碼
[mysqld] #服務端基本設置
port = 3307 MySQL監(jiān)聽端口
socket = /data/mysqldata/3307/mysql.sock #為MySQL客戶端程序和服務器之間的本地通訊指定一個套接字文件
pid-file = /data/mysqldata/3307/mysql.pid#pid文件所在目錄
basedir = /usr/local/mysql-5.7.11#使用該目錄作為根目錄(安裝目錄)
datadir = /data/mysqldata/3307/data #數(shù)據(jù)文件存放的目錄
tmpdir = /data/mysqldata/3307/tmp #MySQL存放臨時文件的目錄
character_set_server = utf8mb4 #服務端默認編碼(數(shù)據(jù)庫級別)
collation_server = utf8mb4_bin #服務端默認的比對規(guī)則,排序規(guī)則
user = mysql #MySQL啟動用戶
log_bin_trust_function_creators = 1 #This variable applies when binary logging is enabled. It controls whether stored function creators can be trusted not to create stored functions that will cause #unsafe events to be written to the binary log. If set to 0 (the default), users are not permitted to create or alter stored functions unless they have the SUPER #privilege in addition to the CREATE ROUTINE or ALTER ROUTINE privilege. 開啟了binlog后,必須設置這個值為1.主要是考慮binlog安全
performance_schema = 0 #性能優(yōu)化的引擎,默認關閉
secure_auth = 1 #secure_auth 為了防止低版本的MySQL客戶端(
my.cnf 是mysql啟動時加載的配置文件,一般會放在mysql的安裝目錄中,用戶也可以放在其他目錄加載。
安裝mysql后,系統(tǒng)中會有多個 my.cnf 文件,有些是用于測試的。
安裝locate
命令
輸出
當我們需要修改配置文件時,需要找到mysql啟動時是加載了哪個 my.cnf 文件。
啟動mysql后,我們查看mysql的進程,看看是否有設置使用指定目錄的 my.cnf 文件,如果有則表示mysql啟動時是加載了這個配置文件。
命令
輸出
可以看到 /usr/local/Cellar/mysql/5.6.24/my.cnf 就是mysql啟動加載的配置文件。
如果上面的命令沒有輸出,表示沒有設置使用指定目錄的 my.cnf 。
如果沒有設置使用指定目錄的 my.cnf ,mysql啟動時會讀取安裝目錄根目錄及默認目錄下的 my.cnf 文件。
查看mysql啟動時讀取配置文件的默認目錄
命令
輸出
這些就是mysql默認會搜尋 my.cnf 的目錄,順序排前的優(yōu)先。
如果沒有設置使用指定目錄 my.cnf 文件及默認讀取目錄沒有 my.cnf 文件,表示mysql啟動時并沒有加載配置文件,而是使用默認配置。
需要修改配置,可以在mysql默認讀取的目錄中,創(chuàng)建一個 my.cnf 文件(例如: /etc/my.cnf ),把需要修改的配置內(nèi)容寫入,重啟mysql后即可生效。