首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Linux下MySQL 5.1二進制包安裝標準化流程:從解壓到開機自啟全記錄

     編輯:MySQL 綜合教學

二進制包(Generic Linux tarball)安裝是Linux部署MySQL最平衡「靈活度與便捷性」的方式。本文以MySQL 5.1為例,提供從下載、用戶建立、解壓、配置、初始化、權限、啟動、開機自啟、防火牆到驗證的標準化SOP,可直接作為運維手冊條目。

標準化安裝SOP

1. 下載二進制包

# 官方下載頁面選擇:Linux - Generic (glibc 2.12+)
# 文件名格式:mysql-VERSION-linux-glibc2.12-x86_64.tar.gz
wget https://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.gz

2. 建立MySQL用戶與組

groupadd mysql
useradd -r -g mysql -s /bin/false mysql  # -r系統用戶,-s禁止登入

3. 解壓與部署到/usr/local

cd /usr/local
tar zxvf /path/to/mysql-5.1.73-linux-x86_64-glibc23.tar.gz
ln -s mysql-5.1.73-linux-x86_64-glibc23 mysql  # 版本無關的通用鏈接

4. 配置文件部署

cd mysql
cp support-files/my-medium.cnf /etc/my.cnf
# 依硬體調整:my-small/my-medium/my-large/my-huge.cnf

5. 初始化系統表與權限設置(關鍵步驟)

chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql:mysql data

⚠️ chown -R mysql:mysql .先給全目錄mysql權限,初始化後chown -R root .收回程序文件擁有權,僅data目錄保留mysql權限 —— 最小權限原則。

6. 啟動驗證

bin/mysqld_safe --user=mysql &
# 正常輸出:
# Starting mysqld daemon with databases from /usr/local/mysql/data

若顯示mysql ended,查看data/hostname.err錯誤日誌,90%為權限問題。

7. 設定Root密碼

bin/mysqladmin -u root password 'StrongP@ssw0rd'

8. 部署啟動腳本與開機自啟

cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on

9. 服務管理驗證

service mysqld start
service mysqld stop
service mysqld restart
service mysqld status

10. 網路與防火牆

# 驗證端口監聽
netstat -tlnp | grep 3306
# iptables開放
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
service iptables save
# 或firewall-cmd
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

一鍵部署命令匯總(複製即執行)

groupadd mysql
useradd -r -g mysql -s /bin/false mysql
cd /usr/local
tar zxvf mysql-5.1.73-linux-x86_64-glibc23.tar.gz
ln -s mysql-5.1.73-linux-x86_64-glibc23 mysql
cd mysql
cp support-files/my-medium.cnf /etc/my.cnf
chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql:mysql data
bin/mysqld_safe --user=mysql &
bin/mysqladmin -u root password 'StrongP@ssw0rd'
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on
service mysqld start
netstat -tlnp | grep 3306

常見問題速查

現象可能原因解決
mysql endeddata目錄權限錯誤重執行chown步驟
Can't connect to socketsocket路徑不匹配my.cnf指定socket、client同步
Access denied密碼錯誤/權限表損壞--skip-grant-tables重置
端口衝突3306被佔用修改my.cnf port或停止衝突進程

升級到MySQL 5.7/8.0關鍵差異

  • 5.7+:mysql_install_db棄用,改用mysqld --initialize-insecure
  • 8.0+:預設caching_sha2_password認證、lower_case_table_names限制
  • 系統表結構變更,舊版升級需mysql_upgrade

標準化SOP消除部署隨意性,配合版本控制的my.cnf模板與自動化腳本,實現MySQL基礎設施即代碼。

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