首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

生產級 MySQL 5.6 自動化安裝部署腳本全解析:目錄規劃、參數調優、熱數據預熱、安全加固、日誌審計

     編輯:MySQL 資料庫相關知識

自動化運維核心技能:資料庫標準化部署。本文提供經生產驗證的 MySQL 5.6.25 自動化安裝腳本 mysql_auto_install.sh 全解析,含目錄規劃、5.6 新特性啟用、參數模板、安全初始化、日誌記錄。

腳本核心特性

  • 二進制包離線安裝,無 RPM 依賴
  • 預設啟用 5.6 熱數據預熱:innodb_buffer_pool_dump_at_shutdown=1、innodb_buffer_pool_load_at_startup=1
  • 目錄分離:程式 /usr/local/mysql、資料 /data/mysql、日誌 /log/mysql
  • Root 密碼預設 MANAGER(腳本互動修改)
  • 執行日誌 /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

腳本執行流程

  1. Root 權限檢查
  2. 互動輸入 Root 密碼
  3. 確認安裝 MySQL 5.6.25
  4. 初始化:關閉 SELinux、設定時區、移除舊 MySQL RPM
  5. 建立 mysql 用戶/組(UID/GID 512)
  6. 解壓二進制包至 /usr/local/mysql
  7. 建立資料/日誌目錄、授權
  8. 生成 /etc/my.cnf、/etc/ld.so.conf.d/mysql-x86_64.conf、/etc/profile.d/mysql.sh
  9. mysqld --initialize(5.6 為 mysql_install_db)
  10. 啟動服務、mysql_secure_installation 等效操作(刪匿名用戶、禁用 root 遠程、刪 test 庫)
  11. 驗證登入、記錄日誌

執行示例

[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=ROW
  • 備份腳本 crontab + 異地同步
  • 監控:Prometheus mysqld_exporter + Grafana 儀表板
腳本是骨架,參數是靈魂。每個環境必須根據硬體、業務、合規**二次調優**,不可照搬。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved