当前位置: 首页 > news >正文

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

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数据库了。

http://www.lqws.cn/news/556597.html

相关文章:

  • 网络缓冲区
  • Solidity学习 - 错误处理
  • ffpaly播放 g711a音频命令
  • 【学习笔记】深入理解Java虚拟机学习笔记——第12章 Java内存模型与线程
  • 设计模式之抽象工厂模式
  • Docker 入门教程(五):Docker 命令思维导图
  • 【分布式机架感知】分布式机架感知能力的主流存储系统与数据库软件
  • 微处理原理与应用篇---STM32寄存器控制GPIO
  • 矩阵的条件数(Condition Number of a Matrix)
  • 华为云Flexus+DeepSeek征文 | 基于华为云ModelArts Studio安装NoteGen AI笔记应用程序
  • Learning PostgresSQL读书笔记: 第11章 Transactions, MVCC, WALs, and Checkpoints
  • 基于Docker的mosquitto安装测试
  • FPGA设计的上板调试
  • python多线程详细讲解
  • Python爬虫实战:研究difflib库相关技术
  • Ubuntu 主机通过 `enp4s0` 向开发板共享网络的完整步骤
  • 默克树技术原理
  • 组成原理--指令指令集寻址方式的介绍
  • ubuntu-server 与 ubuntu-live-server 的区别 笔记250628
  • Java锁机制知识点
  • 网关ARP防护的措施
  • 【开源初探】基于Qwen2.5VL的OCRFlux
  • vue-28(服务器端渲染(SSR)简介及其优势)
  • LNA设计
  • macOS生成密钥对教程
  • 网络攻防技术
  • WOE值:风险建模中的“证据权重”量化术——从似然比理论到FICO评分卡实践
  • 最后的生还者2:重制版 免安 中文离线运行版+整合包
  • Flutter 使用flutter_inappwebview加载H5 在Windows 11 上应用闪退问题排查与解决方案
  • [幻灯片]分析设计高阶-03行为01-202506更新-GJ-002