自動化運維核心技能:資料庫標準化部署。本文提供經生產驗證的 MySQL 5.6.25 自動化安裝腳本 mysql_auto_install.sh 全解析,含目錄規劃、5.6 新特性啟用、參數模板、安全初始化、日誌記錄。
innodb_buffer_pool_dump_at_shutdown=1、innodb_buffer_pool_load_at_startup=1/usr/local/mysql、資料 /data/mysql、日誌 /log/mysqlMANAGER(腳本互動修改)/root/mysql-install.log 全程審計my.cnf 片段)[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
socket = /data/mysql/mysql.sock
log-error = /log/mysql/error.log
pid-file = /data/mysql/mysqld.pid
# 5.6 熱數據預熱(正常關機才生效,宕機/ kill -9 無效)
innodb_buffer_pool_dump_at_shutdown = 1
innodb_buffer_pool_load_at_startup = 1
# 核心效能參數(按實際記憶體調整)
innodb_buffer_pool_size = 512M # 建議物理記憶體 50-80%
innodb_log_file_size = 256M
innodb_log_buffer_size = 64M
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1
# 字符集
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
# 安全
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
skip-name-resolve
max_connections = 1000
/usr/local/mysql/etc/my.cnf、/etc/ld.so.conf.d/mysql-x86_64.conf、/etc/profile.d/mysql.shmysqld --initialize(5.6 為 mysql_install_db)mysql_secure_installation 等效操作(刪匿名用戶、禁用 root 遠程、刪 test 庫)[root@HE3 ~]# ./mysql_auto_install.sh
=========================================================================
A tool to auto-compile & install MySQL 5.6.25 on Redhat/CentOS Linux
=========================================================================
Please input the root password of mysql: (Default password: MANAGER):
MySQL root password: MANAGER
Install MySQL 5.6.25, Please input y
Press any key to start... or Press Ctrl+c to cancel
...執行過程日誌...
# 完成後驗證
mysql -uroot -pMANAGER -e "SHOW DATABASES;"
innodb_buffer_pool_size:實際記憶體 60-70%innodb_log_file_size:1-4GB(大寫入場景)max_connections:應用連線池總和 + 余量log_bin、expire_logs_days=7、binlog_format=ROWcrontab + 異地同步Prometheus mysqld_exporter + Grafana 儀表板腳本是骨架,參數是靈魂。每個環境必須根據硬體、業務、合規**二次調優**,不可照搬。