整理 MySQL 官方文檔與實戰經驗,提煉 23 條新手必遵守的安全與操作準則,涵蓋網路、認證、授權、注入防護、檔案權限、服務啟動參數等全方位。
mysql -u root → UPDATE mysql.user SET password=PASSWORD('newpwd') → FLUSH PRIVILEGES。MD5()/SHA1()/SHA2() 雜湊存儲。nmap -p 3306 或 telnet host 3306 確認埠未對外暴露。mysqli_real_escape_string、Java PreparedStatement 等。tcpdump -i eth0 -w - src or dst port 3306 | strings 檢查明文傳輸。--skip-symbolic-links。PROCESS/SUPER/FILE 僅授予管理員。max_user_connections 變數或 GRANT ... WITH MAX_CONNECTIONS_PER_HOUR。GRANT 支援 MAX_QUERIES_PER_HOUR、MAX_UPDATES_PER_HOUR 等。--local-infile=0 禁用 LOAD DATA LOCAL。--skip-grant-tables 僅限緊急救援,用畢即關(mysqladmin flush-privileges 恢復)。--skip-show-databases 隱藏資料庫列表。mysqld --skip-grant-tables &mysql -u root mysqlUPDATE user SET password=PASSWORD('newpwd') WHERE user='root';FLUSH PRIVILEGES;將此清單印出貼在工位,每次部署、代碼審查、上線前逐項核對,養成安全肌肉記憶。