CentOS 7 通過 yum 安裝 MySQL(MariaDB 兼容包或官方 Repo)並配置遠程訪問,是雲服務器初始化的標準動作。本文覆蓋安裝、字符集配置、服務管理、遠程授權、防火牆放行、驗證測試全鏈路,並補充 Ubuntu 下 bind-address 修改差異。
# 方案 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
[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
mysql_secure_installation # 交互式:設置 root 密碼、移除匿名用戶、禁止 root 遠程、移除 test 庫、重載權限
CREATE USER 'app_user'@'192.168.1.%' IDENTIFIED WITH mysql_native_password BY 'StrongPass#2024';
# 應用服務器測試 mysql -h 192.168.1.100 -u app_user -p'StrongPass#2024' -e "SELECT VERSION();" # 或 telnet 測試端口通達 telnet 192.168.1.100 3306
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
root@'%' → ✅ 創建專用業務賬號、限制 IP 段、最小權限。utf8mb4(server/client/connection)。0.0.0.0 或具體內網 IP。mysql_secure_installation → ✅ 必跑,清理預設風險。按此清單執行,30 分鐘交付一個安全、可遠程訪問的 MySQL 實例。