記一個(gè) MySQL設(shè)計(jì)不合理地方:應(yīng)用程序錯(cuò)誤密碼不斷重連校驗(yàn)機(jī)制QL
概述
最近修改了mysql數(shù)據(jù)庫(kù)一個(gè)用戶的密碼,然后應(yīng)用程序也改了對(duì)應(yīng)密碼,過了一段時(shí)間發(fā)現(xiàn)了一系列問題...下面介紹下整體的過程。
1、監(jiān)控告警
從監(jiān)控可以看到這臺(tái)主機(jī)發(fā)生磁盤告警的問題。

2、查看服務(wù)器磁盤信息
登錄這臺(tái)服務(wù)器可以發(fā)現(xiàn)根目錄磁盤滿了

3、定位具體原因
通過du -sh *定位具體原因發(fā)現(xiàn)是mysql.log達(dá)到27G,查看mysql.log信息

4、對(duì)策
思考:這種情況mysql不考慮嗎?給攻擊不就GG?暫時(shí)先通過調(diào)整mysql數(shù)據(jù)庫(kù)日志級(jí)別來避免。
1、當(dāng)前日志級(jí)別
- show variables like '%log_warnings%';

- log_warnings 為0, 表示不記錄告警信息。
- log_warnings 為1, 表示告警信息寫入錯(cuò)誤日志。
- log_warnings 大于1, 表示各類告警信息,例如有關(guān)網(wǎng)絡(luò)故障的信息和重新連接信息寫入錯(cuò)誤日志。
注意:從MySQL 5.7.2開始,首選log_error_verbosity系統(tǒng)變量,而不是使用--log-warnings選項(xiàng)或log_warnings系統(tǒng)變量,這個(gè)參數(shù)從MySQL 8.0.3開始被移除了。而新參數(shù)log_error_verbosity更簡(jiǎn)單,它有三個(gè)可選值, 分別對(duì)應(yīng):1:錯(cuò)誤信息;2:錯(cuò)誤信息和告警信息; 3:錯(cuò)誤信息、告警信息和通知信息。

Selected important system messages about non-error situations, such as startup and shutdown messages, are printed to the error log when the variable value is 1.
2、調(diào)整日志級(jí)別
- --sql
- set global log_error_verbosity=1;
- --配置文件
- log_error_verbosity=1

調(diào)整后重新測(cè)試就沒問題了。