本文作者:问几许

Navicat连接到MySQL的一些问题

问几许 4年前 ( 2019-05-10 ) 1919 抢沙发
Navicat连接到MySQL的一些问题摘要: Navicats 是一个非常好用的数据库连接工具,可视化,方便管理、维护和开发,不过在使用Navicat的时候总会出现一些不可避免的坑(也就是由于不懂缺少某些操作而引起的错误),一...


Navicats 是一个非常好用的数据库连接工具,可视化,方便管理、维护和开发,不过在使用Navicat的时候总会出现一些不可避免的坑(也就是由于不懂缺少某些操作而引起的错误),一下就是经常遇到的坑及其解决方案。

错误一:错误码1130

原因:

本地的IP没有访问远程数据库的权限。

方法:


1、首先登录到远程服务器,输入命令: mysql -u root -p  ,点击回车之后,输入密码进入mysql命令行。


2、输入use mysql 回车 输入 select user,password,host from user ,就能看到host种的主机,那我们把Navicats所在的IP地址添加进去就可以了。


3、添加的命令

grant all on *.* to root@"xxx.xxx.xxx.xxx" identified by "密码" (xxx.xxx.xxx.xxx用%也行,表示所有IP)

或者 GRANT ALL ON *.* TO "root"@"xxx.xxx.xxx.xxx" IDENTIFIED BY "123456" WITH GRANT OPTION;

这相当于是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,包括远程访问权限。

然后再输入 flush privileges; 

这相当于是重新加载一下mysql权限,这一步必须有。


4、再次输入select user,password,host from user; 

可以看出,最后一个host 是个%,代表所有的IP都可以用这个用户密码远程连接数据库。


5、最后重新连接一次,就可以正常访问了。


错误三:1044

纯属没权限,参照错误一给予当前用户权限。


错误二:2003 -can't connect to mysql server on 'localhost'(100038)

出现这种情况,有很多种可能性,需要一步一步的去排除

1、第一步:看MySQL的用户是不是限制了远程登录,也就是看host是localhost还是%

方法在“错误一”


2、第二步:查看3306端口是否打开

服务器控制台打开3306端口。


启动关闭的常用命令:

## 1.Windows下
## 启动服务
mysqld --console  
或  net start mysql  
## 关闭服务
mysqladmin -uroot shudown  
或  net stop mysql  

## 2.Linux下
## 启动服务
service mysql start   
## 关闭服务
service mysql stop  
## 重启服务
service restart stop


错误三:Redirecting to /bin/systemctl start mysqld.service

启动mysql提示:Redirecting to /bin/systemctl start mysqld.service

原因在于安装环境的时候默认装了 MariaDB,安装MariaDB之后必须先启动MariaDB才能启动mysqld,其实就是运行一下MariaDB向导,它是个一次性的东东,就是帮助你提高mysql安全性的。

总之就是依次运行下面三局命令就搞定:

systemctl start mariadb.service
systemctl enable mariadb.service
mysql_secure_installation

最后起开mysql

service mysqld start


文章版权及转载声明

作者:问几许本文地址:https://wenjixu.com/blog/116.html发布于 4年前 ( 2019-05-10 )
文章转载或复制请以超链接形式并注明出处问几许

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享

发表评论

快捷回复:

评论列表 (暂无评论,1919人围观)参与讨论

还没有评论,来说两句吧...