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

MySQL 5.6.20 二進制安裝與配置全流程:服務註冊、編碼設置、安全加固

     編輯:MySQL 綜合教學

MySQL 5.6.20 二進制安裝與配置全流程:服務註冊、編碼設置、安全加固

針對 Linux(CentOS/Ubuntu)環境,使用官方 Generic Linux Glibc 二進制包安裝 MySQL 5.6.20,涵蓋使用者建立、目錄規劃、my.cnf 核心參數、systemd 服務註冊、字符集統一為 utf8mb4、root 密碼修改與 mysql_secure_installation 加固。

1. 建立用戶與目錄

groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql
mkdir -p /data/mysql/{data,logs,tmp}
chown -R mysql:mysql /data/mysql

2. 解壓與軟連結

tar -xzf mysql-5.6.20-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/mysql-5.6.20-linux-glibc2.5-x86_64 /usr/local/mysql

3. 核心 my.cnf(/etc/my.cnf)

[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
port=3306
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
explicit_defaults_for_timestamp=true
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=1
sync_binlog=1
max_connections=500
log-error=/data/mysql/logs/error.log
slow_query_log=1
slow_query_log_file=/data/mysql/logs/slow.log
long_query_time=1
log_queries_not_using_indexes=1
server-id=1
log-bin=/data/mysql/logs/binlog
binlog_format=ROW
expire_logs_days=7
gtid_mode=ON
enforce_gtid_consistency=ON

[client]
default-character-set=utf8mb4
socket=/tmp/mysql.sock

[mysql]
default-character-set=utf8mb4

4. 初始化數據目錄

cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/data --basedir=/usr/local/mysql

5. 註冊 systemd 服務

cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
# 或 systemd
cat > /etc/systemd/system/mysqld.service <<'EOF'
[Unit]
Description=MySQL Server
After=network.target
[Service]
Type=forking
User=mysql
Group=mysql
ExecStart=/etc/init.d/mysqld start
ExecStop=/etc/init.d/mysqld stop
PIDFile=/data/mysql/data/mysqld.pid
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable mysqld

6. 啟動與安全加固

systemctl start mysqld
# 修改 root 密碼
/usr/local/mysql/bin/mysqladmin -u root -h $(hostname) password 'StrongPass@2024'
# 或執行安全向導
/usr/local/mysql/bin/mysql_secure_installation

7. 驗證字符集與 GTID

mysql -uroot -p -e "SHOW VARIABLES LIKE '%character%'; SHOW VARIABLES LIKE '%gtid%';"
# 確認 character_set_server=utf8mb4, gtid_mode=ON

常見坑位

  • explicit_defaults_for_timestamp=true 避免 5.6+ 警告。
  • innodb_log_file_size 修改需先停庫、刪除舊 ib_logfile* 再啟動。
  • 二進制包無 mysqld_safe 於 /usr/libexec,直接用 systemd 管理。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved