阿里云Ubuntu服务器上安装MySQL并配置远程连接

发布于:2025-07-04 ⋅ 阅读:(19) ⋅ 点赞:(0)

1. 安装MySQL

首先连接到你的Ubuntu服务器,然后执行:

# 更新软件包列表
sudo apt update

# 安装MySQL服务器
sudo apt install mysql-server

# 启动MySQL服务
sudo systemctl start mysql

# 设置MySQL开机自启
sudo systemctl enable mysql

# 检查MySQL状态
sudo systemctl status mysql

2. 配置MySQL安全设置

# 运行MySQL安全配置脚本
sudo mysql_secure_installation

按提示进行配置:

  • 设置root密码强度验证(可选择No)
  • 设置root密码
  • 移除匿名用户(Yes)
  • 禁止root远程登录(先选No,稍后手动配置)
  • 移除test数据库(Yes)
  • 重新加载权限表(Yes)

3. 创建远程连接用户

# 登录MySQL
sudo mysql -u root -p

# 在MySQL命令行中执行以下命令:
-- 创建新用户(替换 'your_username' 和 'your_password')
CREATE USER 'your_username'@'%' IDENTIFIED BY 'your_password';

-- 授予所有权限
GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%' WITH GRANT OPTION;

-- 刷新权限
FLUSH PRIVILEGES;

-- 退出MySQL
EXIT;

4. 配置MySQL允许远程连接

编辑MySQL配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到 bind-address 行并修改:

# 将这行:
bind-address = 127.0.0.1

# 改为:
bind-address = 0.0.0.0

保存文件后重启MySQL:

sudo systemctl restart mysql

5. 配置Ubuntu防火墙

# 允许MySQL端口3306
sudo ufw allow 3306

# 如果ufw未启用,可以启用它
sudo ufw enable

# 检查防火墙状态
sudo ufw status

6. 配置阿里云安全组

在阿里云控制台:

  1. 进入ECS管理控制台
  2. 找到你的服务器实例
  3. 点击"安全组配置"
  4. 添加安全组规则:
    • 协议类型:TCP
    • 端口范围:3306/3306
    • 授权对象:0.0.0.0/0(或限制为你的IP地址更安全)
    • 描述:MySQL远程连接

7. 在Navicat中配置连接

打开Navicat:

  1. 点击"连接" → "MySQL"
  2. 填写连接信息:
    • 连接名:自定义名称
    • 主机:你的阿里云服务器公网IP
    • 端口:3306
    • 用户名:刚才创建的用户名
    • 密码:对应的密码
  3. 点击"测试连接"
  4. 如果成功,点击"确定"保存连接

8. 测试连接

# 在服务器上测试MySQL是否正在监听3306端口
sudo netstat -tlnp | grep 3306

# 或者使用ss命令
sudo ss -tlnp | grep 3306

常见问题排查

如果连接失败,检查以下几点:

  1. 确认MySQL服务运行状态

    sudo systemctl status mysql
    
  2. 检查端口是否开放

    sudo netstat -tlnp | grep 3306
    
  3. 检查用户权限

    SELECT user, host FROM mysql.user WHERE user = 'your_username';
    
  4. 查看MySQL错误日志

    sudo tail -f /var/log/mysql/error.log
    

完成这些步骤后,你应该就能够使用Navicat成功连接到阿里云Ubuntu服务器上的MySQL数据库了。