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

CentOS 7 安裝 MySQL 5.7.17 圖文教程:卸載 MariaDB、配置 YUM 源、修改初始密碼全流程

     編輯:MySQL 資料庫相關知識

前置:移除 MariaDB

rpm -qa | grep mariadb
yum remove mariadb-libs.x86_64 -y

配置官方 YUM 源

# 1. 下載 RPM 源包 (官方或鏡像)
wget https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
# 2. 安裝源
yum localinstall mysql57-community-release-el7-11.noarch.rpm -y
# 3. 驗證
yum repolist enabled | grep "mysql.*community.*"

安裝 MySQL Server

yum install mysql-community-server -y

啟動與開機自啟

systemctl start mysqld
systemctl enable mysqld
systemctl daemon-reload

獲取臨時 root 密碼並修改

# 1. 查看隨機密碼
grep 'temporary password' /var/log/mysqld.log
# 輸出範例:2024-05-18T10:12:04.123456Z 1 [Note] A temporary password is generated for root@localhost: xYz#Abc123

# 2. 首次登入 (必須修改密碼才能執行其他命令)
mysql -u root -p'xYz#Abc123'

# 3. 修改密碼 (需滿足 validate_password 政策:長度 8+、大小寫、數字、特殊符號)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPwd123!';
FLUSH PRIVILEGES;

常見坑與修復

現象原因修復
yum install 卡住/報 GPG Key 錯誤源 RPM 未導入 GPG Keyrpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql
密碼策略太強導致修改失敗validate_password 預設 MEDIUM臨時降級:SET GLOBAL validate_password_policy=LOW; SET GLOBAL validate_password_length=4; 修改後再調回
systemctl start mysqld 失敗SELinux / 目錄權限 / 配置錯誤journalctl -u mysqld -xe 看具體錯誤;chown -R mysql:mysql /var/lib/mysql
遠程連不上bind-address=127.0.0.1 / 防火牆my.cnf → bind-address=0.0.0.0;firewall-cmd --add-port=3306/tcp --permanent && firewall-cmd --reload

生產環境建議配置片段 (/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

# InnoDB 核心
innodb_buffer_pool_size=4G          # 物理記憶體 60-70%
innodb_log_file_size=512M
innodb_flush_log_at_trx_commit=1
innodb_file_per_table=1

# 二進制日誌
log_bin=mysql-bin
expire_logs_days=7
sync_binlog=1
binlog_format=ROW

# 安全
skip_name_resolve=1
max_connections=1000

驗證安裝

mysql -uroot -p'NewStrongPwd123!' -e "SELECT VERSION(); SHOW VARIABLES LIKE 'validate_password%';"

YUM 安裝標準化、可自動化、易升級,是 CentOS/RHEL 部署 MySQL 的首選路徑。

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