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

MySQL 5.7.14 CentOS 6.6 二進制包自動化部署腳本全記錄:目錄規劃、用戶建立、配置生成、初始化、密碼修改、安全加固

     編輯:MySQL 資料庫相關知識

CentOS 6.6 上 MySQL 5.7.14 二進制包(mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz)標準化部署全流程,含目錄規劃、mysql 用戶、my.cnf 生成、--initialize、隨機密碼提取、ALTER USER 修改密碼、安全加固。

環境與版本

  • OS:CentOS 6.6
  • DB:MySQL 5.7.14
  • 安裝包:mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz(~642MB)

部署步驟

1. 下載與解壓

cd /tools
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
mkdir -p /opt/mysql
tar -zxvf mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /opt/mysql
mv /opt/mysql/mysql-5.7.14-linux-glibc2.5-x86_64 /opt/mysql/mysql-5.7.14

2. 軟連結

ln -s /opt/mysql/mysql-5.7.14 /usr/local/mysql

3. 建立 mysql 用戶

groupadd mysql
useradd -M -g mysql -s /sbin/nologin -d /usr/local/mysql mysql

4. 資料/日誌/臨時目錄

mkdir -p /data/mysql/mysql_3306/{data,logs,tmp}
chown -R mysql:mysql /data/mysql/mysql_3306

5. 生成 /etc/my.cnf(關鍵配置見正文完整版)

basedir = /usr/local/mysql
datadir = /data/mysql/mysql_3306/data
port = 3306
socket = /data/mysql/mysql_3306/data/mysql.sock
log-error = /data/mysql/mysql_3306/logs/error.log
pid-file = /data/mysql/mysql_3306/data/mysqld.pid
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
innodb_buffer_pool_size = 512M  # 按實際記憶體 50-70% 調整
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
# 其餘緩衝池、日誌、執行緒、複寫參數...

6. 初始化(5.7 必須)

cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3306/data
# 生成隨機 root 密碼,寫入 error.log

7. 查看錯誤日誌確認初始化成功

tail -f /data/mysql/mysql_3306/data/error.log
# 關鍵行:InnoDB: Shutdown completed; log sequence number ...

8. 提取隨機密碼

grep 'temporary password' /data/mysql/mysql_3306/data/error.log
# 2016-08-31T09:44:21.172167Z 1 [Note] A temporary password is generated for root@localhost: 8aahkRkxfm%t

9. 建立啟動腳本並註冊服務

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql on

10. 三種啟動方式

# 方式一:mysqld_safe 後台
./bin/mysqld_safe --user=mysql &

# 方式二:service
service mysql start

# 方式三:/etc/init.d
/etc/init.d/mysql start

11. 環境變數

echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile
source ~/.bash_profile

12. 登入並修改密碼

mysql -uroot -p'8aahkRkxfm%t'
ALTER USER USER() IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

13. 安全加固(5.7 test庫已移除)

DELETE FROM mysql.user WHERE User != 'root' OR Host != 'localhost';
FLUSH PRIVILEGES;
-- 5.6 需額外:DROP DATABASE test; TRUNCATE mysql.db;

驗證

mysql -uroot -p'123456' -e "SHOW DATABASES;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

二進制包部署可控性強、無 RPM 依賴地獄,適合自動化腳本與容器化封裝。

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