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

CentOS 7 部署 MySQL 5.7.11 Linux Generic 二進制版完整實戰

     編輯:MySQL 資料庫相關知識

背景

官方 Generic 二進制包自定義性強、無依賴地獄,但 5.7.6+ 初始化機制變更、SSL/RSA 自動生成、預設密碼策略等導致舊教程失效。本文記錄經驗證可行的完整流程。

1. 下載與解壓

cd /opt
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
ln -s mysql-5.7.11-linux-glibc2.5-x86_64 mysql
cd mysql

2. 建立使用者與資料目錄

groupadd mysql
useradd -r -g mysql -s /bin/false mysql
mkdir data
chown -R root:root .
chown -R mysql:mysql data

3. 初始化資料庫(關鍵步驟)

bin/mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data
bin/mysql_ssl_rsa_setup --datadir=/opt/mysql/data
  • --initialize:產生隨機 root 密碼,輸出到 stderr(需捕獲)
  • mysql_ssl_rsa_setup:生成 SSL 憑證與 RSA 金鑰,支援加密連線
  • 官方文檔缺漏 --basedir/--datadir 導致預設讀取 /etc/my.cnf 失敗,命令列指定最穩妥

4. 建立 my.cnf

cp support-files/my-default.cnf /opt/mysql/my.cnf
vim /opt/mysql/my.cnf

最小必要內容:

[mysqld]
basedir=/opt/mysql
datadir=/opt/mysql/data
log-error=/var/log/mysql-error.log

5. 啟動服務

bin/mysqld_safe --user=mysql &

驗證:netstat -nat | grep 3306 或 tail -f /var/log/mysql-error.log

6. 首次登入與修改密碼

# 從初始化輸出獲取隨機密碼,假設為 xxxxxx
bin/mysql --user=root --password=xxxxxx
mysql> SET PASSWORD = PASSWORD('1234');
# 或 5.7.6+ 推薦
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';

7. 開啟遠程 root 存取

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234';
FLUSH PRIVILEGES;

8. 停止服務

mysqladmin --user=root --password=1234 shutdown

關鍵差異總結(vs 5.6)

項目5.65.7.11
初始化指令mysql_install_dbmysqld --initialize
預設密碼空隨機(需從日誌獲取)
SSL/RSA手動生成mysql_ssl_rsa_setup 自動
密碼修改UPDATE user SET password=...ALTER USER / SET PASSWORD
GTID不支援原生支援

掌握新版初始化與密碼流程,Generic 包部署即可得心應手。

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