MySQL 的日常管理

status;
show create database 資料庫名稱 ;
show create table 資料表名稱 ;
show table status ( from 資料庫名稱 ) ;
show columns from 資料表名稱 ;

select version();
show variables like 'have%ssl%';
show variables like 'port';
show variables like 'datadir';
sudo find / -name my.cnf
sudo mysql --help | grep my.cnf


檢視當前的工作狀態
mysql> show processlist
mysql> show full processlist

如果需要刪掉某個工作
mysql> kill 該工作的Id ;

檢視當前配置的最大連線數、當前使用過的最大連線數。
mysql> show variables like "max_c%";
mysql> show global status like "Max_%";

最大連線數設定為:使用過最大連線數/配置最大連線數≈85% 為比較合適,但使用過的最大連線數都受到配置最大連線數的應用,所以在配置最大連線數過少的情況下,儘可能的先配置大一點的連線數,過段時間獲取使用過的最大連線數後,再設定最優的最大連線數。

mysql> show variables like "%timeout%";

http://jeremy.zawodny.com/blog/archives/011421.html
無論如何都必須修改的四個 MySQL 預設值
max_connect_errors = 1844674407370954751
(並 running an occasional FLUSH HOSTS command)
connect_timeout = 20
skip-name-resolve

設置 max_connect_errors 的目的是預防暴力破解密碼,
所以是否應該如上建議的修改調高這個預設值,其實仍得端視實際應用場景的整體規劃,
比如防火牆是否有開放外部連結的埠號等等,
同理,調整每個預設值之前,應仔細思考實際應用場景的特殊需求,整體規劃考量。

mysql>
set GLOBAL max_connect_errors=1844674407370954751;
set GLOBAL max_connections=5000;
set GLOBAL connect_timeout=20;
set wait_timeout=600;
set interactive_timeout=600;


wait_timeout 預設值為 28800(8小時)
太長了會吃掉 mysql 的連線數

wait_timeout 和 interactive_timeout
這兩個參數要同時設定才會生效


mysql> show status
Show Status官網詳細文件:
https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Aborted_clients



程式語言編年史

程式語言編年史原文 下面這張圖片描繪了整個程式語言的歷史。包括各種程式語言的發明人、程式語言的特點和適用領域、被什麼網站或公司使用等 (檢視 完整高清圖 )。 之所以會有那麼多不同的程式語言是因為設計程式語言的初衷不同、對語言學習曲線的追求不同、不同程式之間的執行成本差異...