1. 程式人生 > >阿里雲RDS-MYSQL資料庫引數設定

阿里雲RDS-MYSQL資料庫引數設定

2016.9.2
最近被資料庫要搞瘋掉了
取消myisam引擎,都換成innodb
總是主備切換,也沒有錯誤日誌

看了看引數設定,很多都不知道
這兩天有時間自己搜尋整理了下
發給大家,有需要的看看
我的伺服器應用主要是WEB網站服務

有一些不懂的地方或者不對的地方,還請大牛不吝賜教!
回覆在評論中就可以了,thank you

auto_increment_offset表示自增長欄位從那個數開始,他的取值範圍是1 .. 65535

auto_increment_increment表示自增長欄位每次遞增的量,其預設值是1,取值範圍是1 .. 65535

back_log值指出在MySQL暫時停止回答新請求之前的短時間內多少個請求可以被存在堆疊中。
也就是說,如果MySql的連線資料達到max_connections時,新來的請求將會被存在堆疊中,以等待某一連線釋放資源,該堆疊的數量即back_log,如果等待連線的數量超過back_log,將不被授予連線資源。
將會報:unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待連線程序時. 
back_log值不能超過TCP/IP連線的偵聽佇列的大小。若超過則無效,檢視當前系統的TCP/IP連線的偵聽佇列的大小命令:cat /proc/sys/net/ipv4/tcp_max_syn_backlog目前系統為1024。
對於Linux系統推薦設定為小於512的整數。
修改系統核心引數,檢視mysql 當前系統預設back_log值, 檢視當前數量命令:show variables like 'back_log';
我給了3000

binlog_cache_size (global)預設即可
Binlog Cache 用於在打開了二進位制日誌(binlog)記錄功能的環境,是 MySQL 用來提高binlog的記錄效率而設計的一個用於短時間內臨時快取binlog資料的記憶體區域。
一般來說,如果我們的資料庫中沒有什麼大事務,寫入也不是特別頻繁,2MB~4MB是一個合適的選擇。但是如果我們的資料庫大事務較多,寫入量比較大,可與適當調高binlog_cache_size。同時,我們可以通過binlog_cache_use 以及 binlog_cache_disk_use來分析設定的binlog_cache_size是否足夠,是否有大量的binlog_cache由於記憶體大小不夠而使用臨時檔案(binlog_cache_disk_use)來快取了。
Binlog_cache_use 顯示 事務的數量被用於這個buffer(也可能是臨時檔案)用於儲存語句。 
Binlog_cache_disk_use 顯示多少的事務數 必須得使用臨時檔案 
這兩個變數能用於調整binlog_cache_size 到一個足夠大的值來避免使用臨時檔案 
mysql> show status like 'binlog_%'; 

原文連結