首页 / MYSQL / MySQL远程数据库异常
MySQL远程数据库异常
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL远程数据库异常,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2549字,纯文字阅读大概需要4分钟。
内容图文
![MySQL远程数据库异常](/upload/InfoBanner/zyjiaocheng/891/5ccef0e631e94cc3bb484defe9dea887.jpg)
在本地连接服务器的mysql时,报2003 - Cant't connect to MySQL server on 'ip'(10060 "Unknown error")错误。
经过网上查阅资料,是端口问题
解决方案:
点击添加规则增加开放3306端口
再次登录,报另一种错误:
1130 is not allowed to connect to this MySql server
解决方案:
运行命令:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
eg:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'root' WITH GRANT OPTION;
用户名和密码、IP换成自己的
但因为我是用的是mysql8 ,又出现了:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'rootq123' WITH GRANT OPTION' at line 1
查询mysql具体版本
SELECT @@VERSION
1
问题分析:mysql版本8.0.13,在给新用户授权时,发生了变化:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'password' with grant option' at line 5, Time: 0.000000s
1
出错的语句:
grant all privileges on *.* to 'root'@'172.16.10.203' identified by 'password' with grant option
1
修正后的语句:分开三次执行
#创建账户
create user 'root'@'172.16.10.203' identified by 'password'
#赋予权限,with grant option这个选项表示该用户可以将自己拥有的权限授权给别人
grant all privileges on *.* to 'root'@'172.16.10.203' with grant option
#改密码&授权超用户,flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里
flush privileges;
原因分析 :此版的的mysql版本把将创建账户和赋予权限分开了。
创建账户::create user ‘用户名’@‘访问主机’ identified by ‘密码’;
赋予权限:grant 权限列表 on 数据库 to ‘用户名’@‘访问主机’ ;
with grant option这个选项表示该用户可以将自己拥有的权限授权给别人
用navicat 连接发现报
Mysql 8连接报错 2059 - Authentication plugin 'caching_sha2_password' cannot be loaded:
使用Navicat 12远程连接Mysql 8.0.11时会提示如下报错信息,从错误信息可知caching_sha2_password不能加载。
以上报错是由于目前已有的客户端连接软件还不支持Mysql8新增加的加密方式caching_sha2_password,所以我们需要修改用户的加密方式,将其改为老的加密验证方式。
大安装Mysql数据库的主机上登录Mysql对应的用户,上面连接时用的用户为root,所以我们登录root用户。
执行命令
use mysql;
select user,plugin from user where user='root';
可以看到当前用户的加密方式为caching_sha2_password
执行命令
alter user 'root'@'%' identified with mysql_native_password by 'Admin@123';
将用户的加密方式改为mysql_native_password。
执行命令flush privileges使权限配置项立即生效。
再次尝试连接Mysql,连接成功。
内容总结
以上是互联网集市为您收集整理的MySQL远程数据库异常全部内容,希望文章能够帮你解决MySQL远程数据库异常所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。