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

Linux 部署 MySQL 極速指南:yum 安裝法(CentOS 6/7 通用)

     編輯:MySQL 綜合教學

Linux 部署 MySQL 極速指南:yum 安裝法(CentOS 6/7 通用)

yum 安裝最快、依賴自動解決、系統服務整合度高,適合標準化、快速交付場景。本文以 CentOS 6.3 64 位為例,CentOS 7 僅服務管理命令不同(systemctl 替代 service/chkconfig)。

一、一鍵安裝

# 安裝客戶端、服務端、開發庫
yum install mysql mysql-server mysql-devel -y
# 出現 Complete! 表示成功

二、服務管理與開機自啟

CentOS 6 (SysVinit)

# 查看服務狀態
chkconfig --list | grep mysqld
# 輸出:mysqld  0:off 1:off 2:on 3:on 4:on 5:on 6:off

# 設定開機自啟
chkconfig mysqld on

# 驗證
chkconfig --list | grep mysqld
# 2-5 均為 on 即正確

CentOS 7 (systemd)

systemctl enable mysqld    # 開機自啟
systemctl start mysqld     # 啟動
systemctl status mysqld    # 狀態
systemctl stop mysqld      # 停止
systemctl restart mysqld   # 重啟

三、啟動驗證與預設路徑

# 啟動
service mysqld start   # CentOS 6
# systemctl start mysqld  # CentOS 7

# 檢查進程
ps -ef | grep mysqld | grep -v grep
# 輸出應包含 mysqld_safe 與 mysqld 兩行

# 關鍵路徑(從進程參數可見)
# 數據目錄:/var/lib/mysql
# 錯誤日誌:/var/log/mysqld.log
# Socket:/var/lib/mysql/mysql.sock
# PID:/var/run/mysqld/mysqld.pid
# 預設端口:3306

四、資料庫與用戶初始化

# 進入 mysql(yum 安裝 root 無密碼)
mysql

# 修改 root 密碼並授權遠程訪問(5.7+ 語法)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongPassw0rd!';
CREATE USER 'root'@'%' IDENTIFIED BY 'StrongPassw0rd!';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

# 5.6 或更舊版本
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('StrongPassw0rd!');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'StrongPassw0rd!' WITH GRANT OPTION;
FLUSH PRIVILEGES;

# 退出
exit;

# 重新登入驗證
mysql -u root -p
# 輸入新密碼

五、常用配置調整(/etc/my.cnf)

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=1
max_connections=500
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow.log
long_query_time=1
# 如需遠程訪問,確保 bind-address 註釋或設為 0.0.0.0
# bind-address=0.0.0.0

修改後重啟服務生效。

六、防火牆開放 3306

# CentOS 6 (iptables)
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
service iptables save

# CentOS 7 (firewalld)
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

七、避坑清單

  • SELinux:setenforce 0 臨時關閉,或配置 setsebool -P mysql_connect_any=1。
  • 舊版本 yum 源無 5.7:需配置 MySQL 官方 yum repo(yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm)。
  • 5.7+ 預設密碼策略:validate_password 插件要求複雜度,若需簡單密碼可 uninstall plugin validate_password;。
  • 時區:default-time-zone='+08:00' 或系統 timedatectl set-timezone Asia/Shanghai。

八、協同部署建議

  • Ansible Role 封裝上述步驟,實現冪等部署。
  • 配置文件模板化(Jinja2),區分開發/測試/生產環境參數。
  • 啟動後自動執行安全初始化腳本(密碼、遠程授權、刪除匿名用戶、test 庫)。

總結:yum 安裝 5 分鐘交付可用 MySQL,配合自動化工具可納入標準化基礎設施交付流程。生產環境建議進一步調優 my.cnf、啟用慢查詢、配置備份策略。

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