在ubuntu 22.04云服务器上安装mysql需四步:1.用apt安装mysql-server;2.运行mysql_secure_installation加固;3.改bind-address为0.0.0.0并重启服务;4.配置安全组放行3306端口、创建带%主机的远程用户并指定mysql_native_password插件。

云服务器上安装 MySQL 的实际步骤(以 Ubuntu 22.04 为例)
直接在主流云厂商(阿里云、腾讯云、AWS EC2)的 Ubuntu 实例上装 MySQL,最稳妥的方式是用官方 APT 源,而非手动编译或下载二进制包——后者容易缺依赖、权限混乱、升级困难。
- 先更新系统:
sudo apt update && sudo apt upgrade -y - 安装 MySQL 服务端:
sudo apt install mysql-server(默认装mysql-server-8.0) - 安装后自动启动并设为开机自启,可用
sudo systemctl status mysql确认状态 - 首次运行需执行安全初始化:
sudo mysql_secure_installation,重点做三件事:设 root 密码、禁用匿名用户、删除 test 数据库
MySQL 绑定地址必须改,否则外网连不上
云服务器默认只监听 127.0.0.1,这是本地回环地址,任何外部 IP(包括你自己的电脑、其他云服务)都连不进来。不改这个,后面所有「远程连接失败」「Connection refused」问题都白调。
- 编辑配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf - 找到
bind-address行,改成:bind-address = 0.0.0.0(允许所有 IPv4 地址接入) - 如果云服务器开了 IPv6,还需确认
skip-networking是注释状态,且没被其他配置覆盖 - 改完重启:
sudo systemctl restart mysql - 验证监听状态:
sudo ss -tlnp | grep :3306,应看到*:3306而非127.0.0.1:3306
云平台安全组和 MySQL 用户权限是两层独立控制
即使 MySQL 已监听 0.0.0.0,云服务器的安全组(Security Group)若没放行 3306 端口,照样连不通;反过来,安全组开了但 MySQL 用户没授权远程访问,也会报 Access denied for user。
- 先在云控制台打开安全组规则:入方向添加 TCP 3306,来源可设为具体 IP 或
0.0.0.0/0(测试用,上线务必收紧) - 登录 MySQL:
sudo mysql -u root -p - 创建远程用户(别直接用 root 远程):
CREATE USER 'appuser'@'%' IDENTIFIED WITH mysql_native_password BY 'StrongPass123!'; - 赋权:
GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO 'appuser'@'%'; - 刷新权限:
FLUSH PRIVILEGES; - 注意:
@'%'表示任意主机,若只允许某 IP,写成@'203.208.60.1'更安全
MySQL 8.0 默认认证插件导致客户端连接失败
Ubuntu 22.04 安装的 MySQL 8.0 默认用 caching_sha2_password 插件,而很多老客户端(如旧版 MySQL Workbench、某些 Python pymysql 版本、PHP mysqli)不支持,会卡在握手阶段或报错 Authentication plugin 'caching_sha2_password' cannot be loaded。
- 临时解决(推荐用于开发环境):建用户时显式指定插件:
CREATE USER 'appuser'@'%' IDENTIFIED WITH mysql_native_password BY 'StrongPass123!'; - 全局降级(不推荐):修改
/etc/mysql/mysql.conf.d/mysqld.cnf,加一行:default_authentication_plugin = mysql_native_password,再重启服务 - 生产环境建议升级客户端驱动,而不是改服务端认证方式
- 检查当前用户插件:
SELECT user, host, plugin FROM mysql.user WHERE user = 'appuser';
云上 MySQL 最容易忽略的不是安装步骤,而是「监听地址 + 安全组 + 用户 host + 认证插件」这四点必须全部对齐;漏一个,连接就断在不同环节,排查时容易反复绕圈。










