问题描述:
Navicat是一款非常流行的数据库管理工具,但是在连接Linux服务器上的MySQL时,可能会出现连接不上的问题。这个问题该怎么解决呢?
解决方案:
Step 1:确认MySQL服务已启动
在Linux服务器上输入以下命令,确认MySQL服务是否已经启动:
systemctl status mysql
如果MySQL服务处于停止状态,则需要手动启动,输入以下命令:
systemctl start mysql
Step 2:确认MySQL服务监听的IP地址
在Linux服务器上输入以下命令,确认MySQL服务监听的IP地址:
netstat -ntlp | grep mysql
输出结果应该如下:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 3039/mysqld
其中127.0.0.1:3306表示MySQL服务监听的IP地址为本地回环地址127.0.0.1,端口号为3306。
如果MySQL服务监听的IP地址为0.0.0.0或者服务器的公网IP地址,那么在Navicat中连接时需要使用相应的地址。
Step 3:确认MySQL服务配置文件是否允许外部访问
在Linux服务器上输入以下命令,打开MySQL服务配置文件my.cnf(或者my.ini):
vi /etc/mysql/my.cnf
在文件中搜索bind-address,如果bind-address的值为127.0.0.1或者服务器的本地IP地址,则表示MySQL服务只允许本地访问,需要修改为允许外部访问。
将bind-address的值改为0.0.0.0或者服务器的公网IP地址,保存文件并退出。
Step 4:重启MySQL服务
在Linux服务器上输入以下命令,重启MySQL服务:
systemctl restart mysql
Step 5:在Navicat中连接MySQL
在Navicat中输入服务器地址、端口号、用户名、密码等信息,点击连接即可。
示例说明1:
假设Linux服务器的公网IP地址为192.168.1.100,MySQL服务监听的端口号为3306,MySQL用户名为root,密码为123456,则在Navicat中输入如下信息:
- 主机名:192.168.1.100
- 端口号:3306
- 用户名:root
- 密码:123456
示例说明2:
假设Linux服务器的本地IP地址为192.168.1.200,MySQL服务监听的端口号为3307,MySQL用户名为admin,密码为654321,则在Navicat中输入如下信息:
- 主机名:192.168.1.200
- 端口号:3307
- 用户名:admin
- 密码:654321
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决navicat连接不上linux服务器上的mysql问题 - Python技术站