连接阿里云Linux服务器上的MySQL数据库 出现2003错误的解决办法

本文介绍如何配置MySQL数据库以实现远程连接,包括启动数据库服务、查看和修改端口号、更新root用户的访问权限、调整配置文件及重启服务等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 首先确定MySQL数据库启动了,用命令ps aux|grep mysql 查看


2 查看数据库的端口号(若没有更改过,默认都是3306) 

   用ssh(或其他远程登录软件)本地能连接进数据库 mysql -u root -p 输入密码进入后 输入语句show global variables like 'port';即可查看端口


3 修改root用户的指定访问IP,默认是localhost, 只能本地连接

所以用ssh登录数据库后,使用语句 update user set host='IP' where user='root';

IP可以设置成固定某个ip 也可以设置为%(允许所有ip连接)


3 查看my.cnf(路径:/etc/mysql下) 或者 mysqld.cnf(/etc/mysql/mysql.conf.d下)文件

我在网上看到的好多都是修改my.cnf,加#注释掉bind-address = 127.0.0.1 如下: #bind-address = 127.0.0.1 .

但我的my.cnf下没有找到该字段,而在mysqld.cnf文件中存在,如上修改。sudo service mysql restart重启mysql


4 确定阿里云管理控制台上 3306的端口已开启




  

### 如何使用 Navicat 连接阿里云 Linux 服务器 MySQL 数据库 #### 创建 SSH 隧道连接 为了安全地访问位于阿里云 Linux 服务器上的 MySQL 数据库,建议通过 SSH 隧道建立连接。这可以通过在本地计算机上设置一个到远程服务器的安全通道来实现。 #### 设置 MySQL 用户权限 确保 MySQL 中存在具有适当权限的用户账户以便能够接受来自外部 IP 地址的请求: ```sql CREATE USER 'root'@'%' IDENTIFIED BY '设定强密码'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES; ``` 上述命令创建了一个新用户 `root` 并赋予其全局管理权限[^2]。 #### 使用 Navicat 建立连接 打开 Navicat Premium 工具后,按照如下方式配置新的连接参数: - **连接名称**: 自定义描述性的名字用于识别此特定链接。 - **主机名/IP地址**: 输入 `127.0.0.1` 或者 `localhost` 而不是实际公网IP,因为我们将利用SSH隧道转发端口。 - **端口号**: 默认情况下为3306,除非更改过MySQL监听端口。 - **用户名/密码**: 刚才创建用户的凭证信息。 - **高级选项中的SSH部分**: - 启用“通过 SSH 隧道连接” - 提供有效的SSH Host(即ECS实例的公共IPv4) - 指定SSH端口,默认通常是22 - 输入拥有SSH访问权的账号及其私钥文件路径或直接输入密码验证 完成以上步骤之后点击保存并尝试测试连接以确认一切正常工作。 #### 处理可能遇到的问题 如果遇到无法解析主机错误如 “Unknown MySQL server host”,可能是由于DNS解析失败或者是防火墙阻止了通信。检查网络连通性和安全组规则允许必要的入站流量到达目标机器[^5]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值