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

Linux 手動部署 MySQL 5.0/5.1 完整步驟:從 tarball 到業務就緒

     編輯:MySQL 資料庫相關知識

環境

  • OS:Debian/Ubuntu/CentOS/RHEL 通用
  • 包:mysql-standard-5.0.27-linux-i686-icc-glibc23.tar.gz (ICC 編譯,效能 +10~20%)

部署腳本化流程

# 1. 解壓並建立符號連結
cd /usr/local
tar zxvf mysql-standard-5.0.27-linux-i686-icc-glibc23.tar.gz
ln -s mysql-standard-5.0.27-linux-i686-icc-glibc23 mysql
cd mysql

# 2. 建立用戶/組
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

# 3. 初始化資料目錄 (5.0/5.1)
scripts/mysql_install_db --user=mysql

# 4. 權限修正
chown -R root .
chown -R mysql data
chgrp -R mysql .

# 5. 配置 my.cnf (關鍵參數)
cat > /etc/my.cnf <<'EOF'
[mysqld]
default-storage-engine = INNODB
default-character-set = utf8
skip-bdb
innodb_buffer_pool_size = 128M
key_buffer_size = 32M
sort_buffer_size = 2M
read_buffer_size = 2M
log-bin = mysql-bin
server-id = 1
EOF

# 6. 啟動
bin/mysqld_safe --user=mysql &

# 7. 設定 root 密碼
bin/mysqladmin -u root password 'StrongPass123'

# 8. 建立業務庫/帳號
bin/mysql -u root -p
CREATE DATABASE appdb DEFAULT CHARACTER SET utf8;
CREATE USER 'appuser'@'%' IDENTIFIED BY 'AppPass123';
GRANT ALL ON appdb.* TO 'appuser'@'%';
FLUSH PRIVILEGES;

# 9. 關閉測試
bin/mysqladmin -u root -p shutdown

生產環境補充

  • 將 mysqld_safe 加入 /etc/init.d/ 或 systemd unit 實現開機自啟。
  • 配置 log-error、slow-query-log、expire-logs-days。
  • 備份策略:mysqldump --single-transaction --master-data=2 + xtrabackup 物理備份。
  • 監控:Prometheus + mysqld_exporter 或 Percona Monitoring and Management (PMM)。

常見坑

錯誤原因修正
Can't create test filedata 目錄權限錯誤chown -R mysql:mysql data
Unknown collation utf8mb4_0900_ai_ci5.0/5.1 不支援 utf8mb4 新排序用 utf8_general_ci 或升級 5.5+
InnoDB: mmap failedinnodb_buffer_pool_size 過大超過實體記憶體調整為實體記憶體 60~70%

總結

手動部署掌握「解壓→建用戶→初始化→權限→配置→啟動→設密→建庫」九步曲,配合 ICC 編譯版與關鍵參數預調,可快速交付高效能、安全的 MySQL 實例。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved