查看配置文件: locate my.cnfmysql
查看配置文件路徑: /記得要在配置環境變量後執行下列命令linux
which mysqld /usr/local/mysql/bin/mysqld --verbose --help | grep -A 1 'Default options'
查看是否使用了指定目錄的my.cnf: ps aux|grep mysql|grep 'my.cnf'sql
查看mysql默認讀取my.cnf的目錄: mysql --help|grep 'my.cnf'數據庫
https://www.linuxidc.com/Linux/2014-10/108644.htmubuntu
https://blog.csdn.net/kelingbest/article/details/46981027segmentfault
https://segmentfault.com/a/1190000017366978緩存
[client] port = 3306 socket = /tmp/mysql.sock 1 2 [mysqld] #Mysql服務的惟一編號 每一個mysql服務Id需惟一 server-id = 1 #服務端口號 默認3306 port = 3306 #mysql安裝根目錄 basedir = /usr/local/mysql #mysql數據文件所在位置 datadir = /usr/local/mysql/data #臨時目錄 tmpdir = /tmp #設置socke文件所在目錄 socket = /tmp/mysql.sock #主要用於MyISAM存儲引擎,若是多臺服務器鏈接一個數據庫則建議註釋下面內容 skip-external-locking #只能用IP地址檢查客戶端的登陸,不用主機名 skip_name_resolve = 1 #事務隔離級別,默認爲可重複讀,mysql默承認重複讀級別(此級別下可能參數不少間隙鎖,影響性能) transaction_isolation = READ-COMMITTED #數據庫默認字符集,主流字符集支持一些特殊表情符號(特殊表情符佔用4個字節) character-set-server = utf8mb4 #數據庫字符集對應一些排序等規則,注意要和character-set-server對應 collation-server = utf8mb4_general_ci #設置client鏈接mysql時的字符集,防止亂碼 init_connect='SET NAMES utf8mb4' #是否對sql語句大小寫敏感,1表示不敏感 lower_case_table_names = 1 #最大鏈接數 max_connections = 400 #最大錯誤鏈接數 max_connect_errors = 1000 #TIMESTAMP若是沒有顯示聲明NOT NULL,容許NULL值 explicit_defaults_for_timestamp = true #SQL數據包發送的大小,若是有BLOB對象建議修改爲1G max_allowed_packet = 128M #MySQL鏈接閒置超過必定時間後(單位:秒)將會被強行關閉 #MySQL默認的wait_timeout 值爲8個小時, interactive_timeout參數須要同時配置才能生效 interactive_timeout = 1800 wait_timeout = 1800 #內部內存臨時表的最大值 ,設置成128M。 #好比大數據量的group by ,order by時可能用到臨時表, #超過了這個值將寫入磁盤,系統IO壓力增大 tmp_table_size = 134217728 max_heap_table_size = 134217728 #禁用mysql的緩存查詢結果集功能 #後期根據業務狀況測試決定是否開啓 #大部分狀況下關閉下面兩項 query_cache_size = 0 query_cache_type = 0 #數據庫錯誤日誌文件 log_error = error.log #慢查詢sql日誌設置 slow_query_log = 1 slow_query_log_file = slow.log #檢查未使用到索引的sql log_queries_not_using_indexes = 1 #針對log_queries_not_using_indexes開啓後,記錄慢sql的頻次、每分鐘記錄的條數 log_throttle_queries_not_using_indexes = 5 #做爲從庫時生效,從庫複製中如何有慢sql也將被記錄 log_slow_slave_statements = 1 #慢查詢執行的秒數,必須達到此值可被記錄 long_query_time = 8 #檢索的行數必須達到此值纔可被記爲慢查詢 min_examined_row_limit = 100 #mysql binlog日誌文件保存的過時時間,過時後自動刪除 expire_logs_days = 5
本機的服務器
!includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/ [mysqld] # 設置3306端口 port=3306 # 設置mysql的安裝目錄 # basedir=/usr/local/mysql # 設置mysql數據庫的數據的存放目錄 # datadir= /var/lib/mysql # 容許最大鏈接數 max_connections=200 # 容許鏈接失敗的次數。這是爲了防止有人從該主機試圖攻擊數據庫系統 max_connect_errors=10 # 服務端使用的字符集默認爲UTF8 character-set-server=utf8mb4 #使用–skip-external-locking MySQL選項以免外部鎖定。該選項默認開啓 external-locking = FALSE # 建立新表時將使用的默認存儲引擎 default-storage-engine=INNODB # 默認使用「mysql_native_password」插件認證 default_authentication_plugin=mysql_native_password [mysqld_safe] log-error=error.log #pid-file=mysqld.pid # 定義mysql應該支持的sql語法,數據校驗 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] # 設置mysql客戶端默認字符集 default-character-set=utf8mb4 [client] # 設置mysql客戶端鏈接服務端時默認使用的端口 port=3306 default-character-set=utf8mb4
chown mysql:mysql -R ../* //進入/home/share目錄輸入該命令
進入/bin/mysql/ 目錄輸入 注意必定要在本機建立目錄socket
mkdir
touch mysql-error.log
touch mysql-slow.log
touch mysqld.pid
touch mysql.sock
touch mysqld.sock
mkdir tmp
chown mysql:mysql -R ../*
mysqld_safe佈局