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

CentOS/RHEL 使用 MySQL 官方 Yum 源安裝 MySQL 5.7 完整教程

     編輯:MySQL 綜合教學

一、配置官方 Yum 源

# 安裝管理工具
yum install yum-utils -y

# 禁用 5.6 源,啟用 5.7 源(默認已啟用 5.7)
yum-config-manager --disable mysql56-community
yum-config-manager --enable mysql57-community

# 驗證
yum repolist enabled | grep mysql

三、安裝 MySQL 5.7

# 確保數據目錄為空
rm -rf /var/lib/mysql/*

# 初始化
mysqld --initialize --user=mysql --datadir=/var/lib/mysql

# 輸出末尾獲取臨時密碼
# [Note] A temporary password is generated for root@localhost: xYz#123Abc

方式 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

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