[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# 兼容舊版客戶端認證(5.0/5.1 常見),5.6+ 建議關閉
old_passwords=1
# 統一字符集 utf8(生產建議 utf8mb4)
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
關鍵點: 集中在 [mysqld]、[mysql]、[client] 三段設置字符集,避免「庫 utf8、表 latin1、連接 latin1」三層不一致導致亂碼。5.7+ 建議直接使用 character-set-server=utf8mb4 並移除 default-character-set(已棄用)。
# 設置開機自啟
chkconfig mysqld on
# 驗證運行級別 2-5 為 on
chkconfig --list mysqld
# 啟動服務
/etc/rc.d/init.d/mysqld start
# 或 systemctl start mysqld (CentOS 7+)
/usr/bin/mysqladmin -u root password 'StrongP@ssw0rd!'
# 驗證
mysql -u root -p
mysql -u root -p -e "DELETE FROM mysql.user WHERE User=''; FLUSH PRIVILEGES;"
mysql -u root -p -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost','127.0.0.1','::1'); FLUSH PRIVILEGES;"
mysql -u root -p -e "DROP DATABASE IF EXISTS test; DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'; FLUSH PRIVILEGES;"
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'10.0.0.%' IDENTIFIED BY 'AppP@ssw0rd!';
FLUSH PRIVILEGES;
# 1. 業務賬號登錄
mysql -u app_user -p -e "SELECT USER(), CURRENT_USER();"
# 2. 建庫建表寫入讀取更新刪除全鏈路
mysql -u app_user -p app_db -e "
CREATE TABLE test_tbl (id INT PRIMARY KEY, name VARCHAR(50));
INSERT INTO test_tbl VALUES (1, 'Hello World');
SELECT * FROM test_tbl;
UPDATE test_tbl SET name='Hello Everyone' WHERE id=1;
SELECT * FROM test_tbl;
DELETE FROM test_tbl;
DROP TABLE test_tbl;
"
# 3. 清理測試賬號
mysql -u root -p -e "
REVOKE ALL PRIVILEGES ON *.* FROM 'app_user'@'10.0.0.%';
DELETE FROM mysql.user WHERE User='app_user' AND Host='10.0.0.%';
FLUSH PRIVILEGES;
"
/etc/rc.d/init.d/httpd restart
# 或 systemctl restart httpd / nginx / php-fpm
確保應用層連接池感知新實例、重新建立連接。
my.cnf,變量化 datadir、innodb_buffer_pool_size、max_connections 等核心參數。mysql_secure_installation 非交互模式(期望輸入)或自定義 SQL 腳本完成安全加固。mysql_up、Threads_connected、Slow_queries、Innodb_buffer_pool_wait_free、磁盤空間、主從延遲(如有)。xtrabackup 全量+增量,mysqldump 邏輯備份雙軌並行,定期恢復演練。