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

CentOS 7 安裝 MySQL 並開啟遠程訪問完整指南:yum 安裝、配置優化、防火牆、授權全流程

     編輯:MySQL 綜合教學

CentOS 7 安裝 MySQL 並開啟遠程訪問完整指南:yum 安裝、配置優化、防火牆、授權全流程

CentOS 7 通過 yum 安裝 MySQL(MariaDB 兼容包或官方 Repo)並配置遠程訪問,是雲服務器初始化的標準動作。本文覆蓋安裝、字符集配置、服務管理、遠程授權、防火牆放行、驗證測試全鏈路,並補充 Ubuntu 下 bind-address 修改差異。

1. 安裝 MySQL 服務端與客戶端

# 方案 A:使用 CentOS 默認源(安裝 MariaDB 5.5,兼容 MySQL)
yum -y install mariadb-server mariadb

# 方案 B:使用 MySQL 官方 Yum Repo(安裝原生 MySQL 5.7/8.0)
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql-community-server

2. 核心配置優化 /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# 字符集統一 UTF8MB4(支援 Emoji)
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
# 遠程訪問核心:綁定所有網卡
bind-address = 0.0.0.0
# 禁用 DNS 反解加速連接
skip-name-resolve
# 日志配置
log_error = /var/log/mysqld.log
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1
# InnoDB 基礎調優(根據內存調整)
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT

[client]
default-character-set = utf8mb4
socket = /var/lib/mysql/mysql.sock

[mysql]
default-character-set = utf8mb4

3. 服務啟動與自啟動

mysql_secure_installation
# 交互式:設置 root 密碼、移除匿名用戶、禁止 root 遠程、移除 test 庫、重載權限

5. 創建遠程業務賬號並授權(推薦而非開放 root)

CREATE USER 'app_user'@'192.168.1.%' IDENTIFIED WITH mysql_native_password BY 'StrongPass#2024';

6. 防火牆放行 3306 端口

# 應用服務器測試
mysql -h 192.168.1.100 -u app_user -p'StrongPass#2024' -e "SELECT VERSION();"
# 或 telnet 測試端口通達
telnet 192.168.1.100 3306

Ubuntu 系統差異補充

Ubuntu MySQL 默認配置 /etc/mysql/my.cnf 包含 bind-address = 127.0.0.1,需修改為 0.0.0.0 並重啟:

sed -i 's/bind-address.*/bind-address = 0.0.0.0/' /etc/mysql/my.cnf
systemctl restart mysql

避坑總結

  1. ❌ 直接授權 root@'%' → ✅ 創建專用業務賬號、限制 IP 段、最小權限。
  2. ❌ 忘記防火牆/安全組 → ✅ 系統防火牆 + 雲安全組雙層放行。
  3. ❌ 字符集未統一 → ✅ 全鏈路 utf8mb4(server/client/connection)。
  4. ❌ bind-address 綁定 127.0.0.1 → ✅ 改為 0.0.0.0 或具體內網 IP。
  5. ❌ 未執行 mysql_secure_installation → ✅ 必跑,清理預設風險。

按此清單執行,30 分鐘交付一個安全、可遠程訪問的 MySQL 實例。

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