首次在服务器上部署 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)、日志策略或备份机制。
