一、配置官方 Yum 源
三、安裝 MySQL 5.7
方式 B:非安全模式(無密碼,生產禁用)
systemctl start mysqld
systemctl enable mysqld
五、首次登錄與密碼修改
SET GLOBAL validate_password_policy=LOW;
SET GLOBAL validate_password_length=4;
六、常見初始化失敗排查
| 報錯 | 原因 | 解決 |
--initialize specified but the data directory has files in it. Aborting. | 數據目錄非空 | rm -rf /var/lib/mysql/* 或重命名目錄 |
mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 13 - Permission denied) | 權限不足 | chown -R mysql:mysql /var/lib/mysql |
Failed to start mysqld.service: Unit not found | 包名錯誤 | 確認安裝 mysql-community-server |
七、生產環境建議配置(/etc/my.cnf)
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# 字符集
character_set_server=utf8mb4
collation_server=utf8mb4_general_ci
# 連接
max_connections=1000
max_connect_errors=100000
# Binlog(複製必備)
log-bin=mysql-bin
binlog_format=ROW
expire_logs_days=7
server-id=1
# InnoDB 核心
innodb_buffer_pool_size=4G # 物理內存 70%
innodb_log_file_size=512M
innodb_flush_log_at_trx_commit=1
innodb_flush_method=O_DIRECT
innodb_file_per_table=1
# 慢查詢
slow_query_log=1
long_query_time=1
slow_query_log_file=/var/log/mysql/slow.log
八、防火牆與 SELinux