# MySQL 5.7 配置 Linux 的教程
## 前言
MySQL 作為最流行的開源關系型數據庫之一,在 Linux 系統上的部署和配置是開發者和運維人員的必備技能。本文將詳細介紹在 Linux 系統(以 CentOS 7 為例)上安裝和配置 MySQL 5.7 的完整流程,包含基礎配置、安全加固和常見問題解決。
---
## 一、環境準備
### 1.1 系統要求
- **操作系統**:CentOS 7/RHEL 7 或 Ubuntu 16.04+
- **內存**:建議至少 1GB
- **磁盤空間**:10GB 以上空閑空間
### 1.2 更新系統
```bash
sudo yum update -y # CentOS/RHEL
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
sudo yum install mysql-community-server -y
sudo systemctl start mysqld
sudo systemctl enable mysqld
MySQL 5.7 首次啟動會生成臨時密碼:
sudo grep 'temporary password' /var/log/mysqld.log
輸出示例:
A temporary password is generated for root@localhost: JqkfT2wA!8Xi
sudo mysql_secure_installation
按提示操作: 1. 輸入臨時密碼 2. 重置 root 密碼(需滿足復雜度要求) 3. 移除匿名用戶 4. 禁止 root 遠程登錄 5. 刪除測試數據庫 6. 重載權限表
編輯 /etc/my.cnf
(或 /etc/mysql/mysql.conf.d/mysqld.cnf
):
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# 關鍵優化參數
innodb_buffer_pool_size = 1G # 建議為物理內存的50%-70%
max_connections = 200 # 最大連接數
character-set-server = utf8mb4 # 默認字符集
collation-server = utf8mb4_unicode_ci
[client]
default-character-set = utf8mb4
sudo systemctl restart mysqld
CREATE USER 'devuser'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON dbname.* TO 'devuser'@'%';
FLUSH PRIVILEGES;
SHOW GRANTS FOR 'devuser'@'%';
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
編輯配置文件:
[mysqld]
bind-address = 0.0.0.0
臨時關閉密碼策略:
SET GLOBAL validate_password_policy=LOW;
mysqld_safe --skip-grant-tables &
mysqldump -u root -p --all-databases > backup.sql
mysql -u root -p < backup.sql
通過本文的步驟,您已經完成了 MySQL 5.7 在 Linux 系統上的安裝、基礎配置和安全加固。建議定期檢查 MySQL 日志(/var/log/mysqld.log
)并關注官方安全更新。
注意事項:生產環境建議配置主從復制和定期備份策略。MySQL 5.7 已于 2023 年 10 月結束生命周期,建議升級到 MySQL 8.0 以獲得長期支持。 “`
字數統計:約 1100 字(含代碼和格式標記)
適用場景:開發測試環境部署指南
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。