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. 配置阿里云安全组
在阿里云控制台:
- 进入ECS管理控制台
- 找到你的服务器实例
- 点击"安全组配置"
- 添加安全组规则:
- 协议类型:TCP
- 端口范围:3306/3306
- 授权对象:0.0.0.0/0(或限制为你的IP地址更安全)
- 描述:MySQL远程连接
7. 在Navicat中配置连接
打开Navicat:
- 点击"连接" → "MySQL"
- 填写连接信息:
- 连接名:自定义名称
- 主机:你的阿里云服务器公网IP
- 端口:3306
- 用户名:刚才创建的用户名
- 密码:对应的密码
- 点击"测试连接"
- 如果成功,点击"确定"保存连接
8. 测试连接
# 在服务器上测试MySQL是否正在监听3306端口
sudo netstat -tlnp | grep 3306# 或者使用ss命令
sudo ss -tlnp | grep 3306
常见问题排查
如果连接失败,检查以下几点:
-
确认MySQL服务运行状态:
sudo systemctl status mysql
-
检查端口是否开放:
sudo netstat -tlnp | grep 3306
-
检查用户权限:
SELECT user, host FROM mysql.user WHERE user = 'your_username';
-
查看MySQL错误日志:
sudo tail -f /var/log/mysql/error.log
完成这些步骤后,你应该就能够使用Navicat成功连接到阿里云Ubuntu服务器上的MySQL数据库了。