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

CentOS 7 YUM 安裝 MySQL 完整增強版教程

     編輯:MySQL 資料庫相關知識

優勢說明

YUM 安裝自動解決依賴、便於升級維護、系統集成度高,是 CentOS 7 生產環境推薦方式。

一、配置官方 YUM 源

# 下載 repo 包 (含 community 和 source 兩個源)
wget https://repo.mysql.com/mysql80-community-release-el7-5.noarch.rpm

# 安裝 repo
rpm -ivh mysql80-community-release-el7-5.noarch.rpm

# 查看可用版本 (默認啟用 8.0,如需 5.7 需手動切換)
yum repolist enabled | grep mysql

切換到 5.7 版本 (如需要):

yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community

二、安裝 MySQL 服務端

yum install -y mysql-community-server

三、啟動與初始化

systemctl start mysqld
systemctl enable mysqld

# 查看臨時 root 密碼 (5.7+ 特性)
grep 'temporary password' /var/log/mysqld.log

四、安全初始化配置

mysql_secure_installation

交互式完成:修改 root 密碼、移除匿名用戶、禁止 root 遠程登錄、刪除 test 庫、重載權限表。

五、常見權限問題修復

若啟動報錯 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock':

# 修正數據目錄擁有權
chown -R mysql:mysql /var/lib/mysql
systemctl restart mysqld

六、防火牆開放 3306 端口

firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
# 或關閉 firewalld 使用 iptables (生產環境不建議)

七、創建業務用戶與權限規劃

mysql -u root -p

-- 唯讀應用賬號
CREATE USER 'app_read'@'%' IDENTIFIED BY 'ReadOnlyPass123!';
GRANT SELECT ON app_db.* TO 'app_read'@'%';

-- 讀寫應用賬號
CREATE USER 'app_rw'@'%' IDENTIFIED BY 'ReadWritePass123!';
GRANT SELECT,INSERT,UPDATE,DELETE ON app_db.* TO 'app_rw'@'%';

-- 管理員賬號 (僅限內網)
CREATE USER 'dbadmin'@'10.0.0.%' IDENTIFIED BY 'AdminPass123!';
GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'10.0.0.%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

八、修改數據目錄 (可選)

systemctl stop mysqld
mkdir -p /data/mysql
mv /var/lib/mysql/* /data/mysql/
chown -R mysql:mysql /data/mysql

# 修改配置
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock

# 更新 SELinux 上下文 (如啟用)
semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"
restorecon -Rv /data/mysql

systemctl start mysqld

九、性能基礎調優配置

編輯 /etc/my.cnf [mysqld] 區段:

innodb_buffer_pool_size = 2G        # 物理內存 60-70%
innodb_log_file_size = 256M
innodb_log_buffer_size = 64M
max_connections = 500
thread_cache_size = 50
table_open_cache = 2000
character_set_server = utf8mb4
default_storage_engine = InnoDB
sql_mode = STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2

十、驗證與監控

# 連接測試
mysql -u app_rw -p -h localhost

# 狀態檢查
mysqladmin -u root -p status
SHOW GLOBAL STATUS LIKE 'Uptime';
SHOW VARIABLES LIKE 'version';

總結

本教程提供了 CentOS 7 YUM 安裝 MySQL 的企業級部署全流程,涵蓋源配置、安裝、安全初始化、權限模型、目錄遷移、防火牆、基礎調優。生產環境建議後續補充:主從復制、備份策略、監控告警、審計日誌、SSL 加密傳輸。

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