# CentOS7用yum方式安裝MySQL5.7
## 前言
MySQL作為最流行的開源關系型數據庫管理系統,被廣泛應用于各類Web應用和數據存儲場景。在CentOS7系統中,通過yum包管理器安裝MySQL5.7是最便捷、穩定的方式之一。本文將詳細介紹從環境準備到安全配置的完整安裝流程,幫助用戶快速搭建可靠的MySQL數據庫服務。
---
## 一、環境準備
### 1.1 系統要求確認
在開始安裝前,請確保您的系統滿足以下條件:
- CentOS7.x操作系統(建議使用最新穩定版)
- 至少2GB可用內存(生產環境建議4GB以上)
- 10GB以上可用磁盤空間
- root或具有sudo權限的用戶
```bash
# 查看系統版本
cat /etc/redhat-release
# 檢查內存和存儲
free -h
df -h
安裝前建議更新系統所有包至最新版本:
sudo yum update -y
sudo reboot # 如有內核更新建議重啟
CentOS7默認倉庫中的MySQL版本較舊,我們需要添加MySQL官方Yum倉庫:
# 下載MySQL官方Yum源
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# 安裝倉庫
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
檢查是否成功添加MySQL5.7倉庫:
# 查看可用倉庫
yum repolist enabled | grep "mysql.*-community.*"
# 預期輸出應包含以下內容
mysql57-community/x86_64 MySQL 5.7 Community Server
通過yum安裝MySQL服務器及相關組件:
sudo yum install -y mysql-community-server
該命令會自動安裝: - mysql-community-server(主服務) - mysql-community-client(客戶端工具) - mysql-community-common(公共文件) - mysql-community-libs(共享庫)
檢查安裝的MySQL版本:
rpm -qi mysql-community-server
# 啟動服務
sudo systemctl start mysqld
# 設置開機自啟
sudo systemctl enable mysqld
# 檢查運行狀態
systemctl status mysqld
MySQL5.7首次啟動會生成隨機root密碼:
sudo grep 'temporary password' /var/log/mysqld.log
輸出示例:
2023-01-01T12:00:00.000000Z 1 [Note] A temporary password is generated for root@localhost: Jqkl#12sdf34
執行安全配置向導:
sudo mysql_secure_installation
按提示完成以下操作: 1. 輸入臨時密碼 2. 設置新密碼(需包含大小寫字母、數字和特殊字符) 3. 移除匿名用戶 4. 禁止root遠程登錄 5. 移除測試數據庫 6. 重新加載權限表
編輯MySQL主配置文件:
sudo vi /etc/my.cnf
添加以下常用配置(根據服務器配置調整):
[mysqld]
# 基礎設置
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# 字符集配置
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
# 性能優化
innodb_buffer_pool_size=1G # 建議為物理內存的50-70%
innodb_log_file_size=256M
max_connections=200
query_cache_size=64M
# 日志配置
log-error=/var/log/mysqld.log
slow_query_log=1
slow_query_log_file=/var/log/mysql-slow.log
long_query_time=2
[client]
default-character-set=utf8mb4
# 重啟服務使配置生效
sudo systemctl restart mysqld
# 驗證字符集設置
mysql -uroot -p -e "SHOW VARIABLES LIKE 'character%';"
建議創建專用管理賬號而非直接使用root:
-- 創建新用戶
CREATE USER 'admin'@'%' IDENTIFIED BY 'Strong@Password123';
-- 授予權限
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
-- 刷新權限
FLUSH PRIVILEGES;
允許MySQL默認端口(3306)的訪問:
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
如果遇到密碼策略限制,可臨時調整:
-- 查看當前策略
SHOW VARIABLES LIKE 'validate_password%';
-- 臨時降低要求(生產環境不建議)
SET GLOBAL validate_password_policy=LOW;
修改最大連接數:
SET GLOBAL max_connections = 500;
永久生效需在my.cnf中添加配置。
創建自動備份腳本:
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR="/data/backups/mysql"
MYSQL_USER="backup_user"
MYSQL_PASS="backup_password"
mysqldump -u$MYSQL_USER -p$MYSQL_PASS --all-databases | gzip > $BACKUP_DIR/full_backup_$DATE.sql.gz
# 保留最近7天備份
find $BACKUP_DIR -type f -mtime +7 -delete
通過本文的詳細步驟,您已成功在CentOS7上使用yum方式完成了MySQL5.7的安裝與基礎配置。MySQL5.7作為長期支持版本,提供了良好的性能與穩定性,適合大多數生產環境使用。建議定期關注安全更新,及時通過yum update
命令升級MySQL補丁版本。
# 檢查可用更新
sudo yum check-update mysql*
如需進一步優化性能,建議根據實際業務負載調整InnoDB緩沖池大小、查詢緩存等參數。對于高可用需求,可考慮配置主從復制或組復制架構。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。