共计 1332 个字符,预计需要花费 4 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章给大家分享的是有关 navicat 无法连接数据库怎么办的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。
navicat 在连接数据库时,有时候会出现连接不上的情况。西面就为大家总结一下,其中的原因及解决方法。
大家都知道,用 Navicat 连接数据库一般是这样连得:
问题整理以及解决办法
错误一:
错误原因:
本地 IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限。于是下面开启本地 IP(xxx.xxx.xxx.xxx)对远程 mysql 数据库的访问权限。
解决办法:
1、首先远程连接进入服务器,在 cmd 中输入 mysql -u root -p,然后回车,输入密码后回车进入 mysql 命令行。
2、输入 use mysql;
3、输入 select user,password,host from user; 可以看到 host 中只有 localhost 主机。我们需要将 xxx.xxx.xxx.xxx 也添加到这里才对。
4. 添加方法如下:
输入
grant all privileges on *.* to root@”xxx.xxx.xxx.xxx”identified by“密码”;(xxx.xxx.xxx.xxx 用 % 也行,表示所有 IP)
或者
GRANT ALL PRIVILEGES ON *.* TO‘root’@’xxx.xxx.xxx.xxx’IDENTIFIED BY‘123456’WITH GRANT OPTION;
这相当于是给 IP-xxx.xxx.xxx.xxx 赋予了所有的权限,包括远程访问权限。
然后再输入
flush privileges;
这相当于是重新加载一下 mysql 权限,这一步必须有。
5. 再次输入 select user,password,host from user;
可以看到 host 中已经有了新加的 IP。
6. 现在再次用 Navicat for MySQl 访问远程 mysql 数据库,已经能正常打开了。
问题解决。
7. 如果还是连接不到,那是不是 MySQL Server 绑定了本地地址,打开 /etc/mysql/my.cnf,
找到:bind-address = 127.0.0.1
去除 IP 地址绑定,把它改为:bind-address = 0.0.0.0
然后重启 MySQL Server:/etc/init.d/mysql restart
错误二:
ERROR 2003 (HY000): Can’t connect to MySQL server on‘hostxxxxx’(10061)
错误原因:
mysqld 数据库服务没有启动。
解决办法:
检查:在 windows 的任务管理器,或者 unix/linux 下 ps -aux | grep mysql 看一下。确认服务已经启动。
处理:启动 mysqld 服务
错误三:
防火墙开启了
解决方法:
防火墙需要允许 3306 端口连接。
【注意:是在虚拟机(LINUX)下执行以上步骤,IP 地址 xxx.xxx.xxx.xxx 是写 windows 的 IP 地址或者 % 也行】
感谢各位的阅读!关于“navicat 无法连接数据库怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
向 AI 问一下细节