詳解MySql的配置文件my.cnf

 

一、Windows下MySQL的配置文件是my.ini,通常會在安裝目錄的根目錄。mysql

 

 

 

 

 

二、Linux下MySQL的配置文件是my.cnf,通常會放在/etc/my.cnf,/etc/mysql/my.cnfsql

 

把MySql下面的配置文件my.cnf詳細的作一個說明(Linux環境) 查看版本號的sql命令是:select version();數據庫

首先,先找到my.cnf的路徑,若是安裝的時候沒有作什麼修改,那麼它的默認路徑是在「/etc/my.cnf」這個地方。若是找不到也沒有關係,咱們能夠用兩步找到它;緩存

第一步:首先找到mysqld的路徑:服務器

命令:which mysqld併發

出來的路徑就是mysqld 的路徑;socket

第二步:敲命令:/usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 'Default options'性能

在這裏就能夠看到my.cnf的路徑啦!spa

 

下面咱們打開my.cnf看看裏面都有些什麼配置:插件

 

 

 

part 1

port = 3306:指定了Mysql開放的端口;basedir = /usr/local/mysql:指定Mysql安裝的絕對路徑;datadir = /data/mysql_db_data:指定Mysql數據存放的絕對路徑;socket = /tmp/mysql.sock:套接字文件

這裏要注意,有時候重啓mysql會提示/tmp/mysql.sock不存在,此時一般會因爲兩種狀況致使,解決方法:

路徑不對,此時找一下該文件的路徑,而後配置指向正確的路徑便可;誤刪除了,此時需重啓mysql服務,重啓完後會在datadir目錄下生成一個該文件,而後配置指向正確的路徑就能夠了;

plugin_dir = /usr/local/mysql/lib/plugin:mysql中plugin插件所在的路徑;log-error = /data/mysql_db/data/error.log:mysql生成的錯誤日誌存放的路徑,它是一個文本文件,遇到有什麼問題想查看日誌時能夠到這個文件裏去找線索;symbolic-links = 0:符號鏈接,若是設置爲1,則mysql數據庫和表裏的數據支持儲存在datadir目錄以外的路徑下,默認都是0(較新版本的mysql下默認是1);

 

part 2

local-infile = 0:設置爲0表示關閉服務器從本地load的功能,設置爲1則打開;max-connections = 320:設置Mysql的最大鏈接數;若是實際應用中,併發的鏈接數量比較大,能夠適當的調高此參數,可是,也不是說越高越好,由於這牽涉到服務器的機器硬件的性能。

有時候查看日誌,會看到例如:「Error 1040 : Too many connections」這樣的錯誤,致使這種錯誤出現的緣由一般是因爲該參數的值設置太小致使;

query_cache_limit = 4M:指定單個查詢可使用的緩衝區的大小,通常默認值是1M;query_cache_size = 64M:查詢的緩存大小設置;query_cache_type = 1:設置緩存的類型,有如下幾種設置方法:

設置成0,表示禁用緩存;設置成1,表示緩存全部結果;設置成2,表示只緩存在select語句中經過SQL_CACHE指定須要緩存的查詢;

max_user_connections = 320:用戶鏈接數的最大值設置,有時候會出現:「has more than max_user_connections active connections」的錯誤,不必定是該參數的設置個數不夠,有時候須要從代碼裏找緣由,查看是否鏈接結束後及時斷開;wait_timeout = 9000:超時等待時間,單位秒,即一個connection在若干秒內無響應,則服務器切斷與這個客戶端的鏈接;connect_timeout = 20:客戶端與服務器創建鏈接時,服務器返回錯誤的握手協議前,等待數據包到來的最大時間,單位秒;thread_cache_size = 256:用於緩存空閒的線程;key_buffer_size = 16M:用於指定索引緩衝區的大小;

 

part 3

join_buffer_size = 2M:查詢語句中若是較屢次使用join查詢時,可適當增大該參數,默認2M,若是幾乎不怎麼用join進行查詢,可不予理會;max_heap_table_size = 16M:指定用戶可建立內存表的大小;low_priority_updates = 1:設置服務器下降寫操做的優先級,設置爲1表示以讀爲主;max_allowd_packet = 128M:設置一次消息傳輸的最大值;max_seeks_for_key = 100:設置基於key查詢容許的最大查找次數;sort_buffer_size = 16M:經過增長該值的大小能夠提升查詢中使用「group by」和「order by」的性能;read_buffer_size = 16M:設置服務器讀緩衝區的大小;max_connect_errors = 10:客戶端鏈接服務器在沒有成功時就被阻斷了,累計後超過這個設置的值時,服務器將阻止該客戶端後續的全部訪問;myisam_sort_buffer_size = 64M:服務器重建索引時容許創建的最大臨時文件的大小;tmp_table_size = 64M:設置臨時內部堆積表(Heap)的大小;read_rnd_buffer_size = 1M:設置服務器隨機讀取緩衝區的大小;open_file_limit = 6050:控制文件打開的個數;

相關文章
相關標籤/搜索