首次部署MySQL需完成安装、安全初始化、监听配置和用户授权四步:Ubuntu用apt安装,CentOS用dnf/yum;运行mysql_secure_installation加固;修改bind-address并开放3306端口;创建普通用户替代root操作。

首次在服务器上部署 MySQL,核心是安装、基础安全配置和简单可用性验证。跳过复杂集群或高可用设计,聚焦单机环境下的最小可行配置。
安装 MySQL(以主流系统为例)
不同系统安装方式略有差异,推荐使用官方源或系统包管理器,避免手动编译:
-
Ubuntu/Debian:运行
sudo apt update && sudo apt install mysql-server,安装完成后服务自动启动 -
CentOS/RHEL 8+:用 dnf 启用 MySQL 官方仓库后执行
sudo dnf install @mysql;RHEL 7 或 CentOS 7 可用yum install mysql-community-server -
注意:避免混用第三方 repo(如 MariaDB 源),否则可能冲突;安装后可通过
systemctl status mysqld或mysql --version确认状态和版本
运行安全初始化脚本(关键一步)
MySQL 安装后默认 root 用户无密码或仅本地 socket 认证,必须立即加固:
- 执行
sudo mysql_secure_installation - 按提示设置 root 密码(建议强密码,非空)、禁用匿名用户、禁止 root 远程登录、删除 test 数据库、重载权限表
- 该脚本本质是执行一系列 SQL(如
DROP USER ''@'localhost'),不运行会导致严重安全隐患
确认监听与访问权限
默认 MySQL 仅监听 127.0.0.1(本地),如需远程连接,需手动调整:
- 编辑配置文件:
/etc/mysql/mysql.conf.d/mysqld.cnf(Debian/Ubuntu)或/etc/my.cnf(RHEL/CentOS) - 找到
bind-address行,改为bind-address = 0.0.0.0(开放所有接口)或指定内网 IP(如192.168.1.100) - 重启服务:
sudo systemctl restart mysql或mysqld - 确保防火墙放行 3306 端口(如
sudo ufw allow 3306或sudo firewall-cmd --add-port=3306/tcp --permanent)
创建普通用户并授权(非 root 操作推荐)
日常开发或应用连接不应直接用 root,应建专用账号:
- 登录 MySQL:
mysql -u root -p - 执行以下语句(示例创建用户
appuser,密码StrongPass123!,仅允许本地连接):CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongPass123!';GRANT ALL PRIVILEGES ON myapp_db.* TO 'appuser'@'localhost';FLUSH PRIVILEGES; - 如需远程访问,将
'localhost'替换为'%'或具体 IP,但务必配合强密码和网络层限制
完成以上步骤,MySQL 即可投入基础使用。后续可根据需要配置字符集(推荐 utf8mb4)、日志策略或备份机制。










