關掉SQL log,如果不關掉的話到時候會產生很大的檔案,恐怖的MySql-bin.0000X日誌文件,網路硬碟空間會不夠用

如果要禁用日誌/etc/my.cnf把這兩行註釋掉


重啟下mysql吧,至此操作完成. 以後再不會因為就幾十M的數據庫大小生成N個G的日誌文件啦。


快速優化MySQL 資料庫
(一)進入官方推薦的配置檔,建議使用官方的,因為它「最穩」,效果很明顯。

一共有
my-innodb-heavy-4G.cnf (4GB的記憶體)
my-huge.cnf (1~2GB的記憶體)
my-large.cnf (128~512MB的記憶體)
my-medium.cnf (64~128MB的記憶體)
my-small.cnf這幾種(小於64MB的記憶體),


如果伺服器的記憶體為 1GB以上,就選擇 my-huge.cnf,並將其內容貼到 /etc/my.cnf


(二)把資料庫內所有資料表最佳化,這招久久用一次,效果很明顯。


(三)重建資料表索引,這招也得久久用一次,效果不錯。


一些MYSQL優化參數。
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
#避免 MySQL 的外部鎖定,減少出錯機率增強穩定性。

key_buffer_size = 16M
#指定用於索引的緩衝區大小,增加它可得到更好的索引處理性能。16M適用於 512MB內存,對於內存在4GB左右的服務器該參數可設置為256M,依此類推即可。注意:該參數值設置的過大反而會是服務器整體效率降低!

max_allowed_packet = 1M
#MySQL 根據此配置會限制 server 接受的數據包大小。

table_open_cache = 64
#指定表高速緩存的大小。每當MySQL訪問一個表時,如果在表緩衝區中還有空間,該表就被打開並放入其中,這樣可以更快地訪問表內容。注意,不能盲目地把table_open_cache設置成很大的值。如果設置得太高,可能會造成文件描述符不足,從而造成性能不穩定或者連接失敗。
64 適用於 512MB 內存,1GB 內存則可以設置成 128,依此類推即可。

sort_buffer_size = 512K
#查詢排序時所能使用的緩衝區大小。注意:該參數對應的分配內存是每連接獨佔,如果有100個連接,那麼實際分配的總共排序緩衝區大小為100 × 512K = 50MB。
512K 適用於 512MB 內存,1GB 內存則可以設置成 1M,依此類推即可。

net_buffer_length = 8K
#初始化server 接受的數據包大小,當需要的時候再由 max_allowed_packet 控制增長的大小。注意:該參數值設置的範圍只能為1 – 1024K。

read_buffer_size = 256K
#讀查詢操作所能使用的緩衝區大小。和 sort_buffer_size 一樣,該參數對應的分配內存也是每連接獨享。
256K 適用於 512MB 內存,1GB 內存則可以設置成 512K,依此類推即可。

read_rnd_buffer_size = 512K
#查詢操作多表所能使用的緩衝區大小。設置較大的值可以有效提升 ORDER BY 的性能。和 sort_buffer_size 一樣,該參數對應的分配內存也是每連接獨享。
512K適用於 512MB 內存,1GB 內存則可以設置成 1M,依此類推即可。

myisam_sort_buffer_size = 8M
#MyISAM 排序所能使用的緩衝區大小。
8M 適用於 512MB 內存,1GB 內存則可以設置成 16M,依此類推即可。

max_connections = 256
#指定MySQL允許的最大連接進程數。如果在訪問時經常出現 Too Many Connections 的錯誤提示,則需要增大該參數值。
注意:該參數默認值為 151,最大可以設置為 100000
這裡建議設置成內存的一半,比如 512MB 內存就設置成 256,依此類推。
IMGP9279

Tags: , , ,