远程连接MYSQL8.0服务器问题



title: 远程连接MYSQL8.0服务器问题

date: 2018-07-07 11:02:26

updated:

tags: [MYSQL,坑]

description:

keywords:

comments:

image:

---

问题描述: 先前使用MYSQL5.1,远端访问MYSQL服务器没问题,遇到的问题也就是防火墙问题,修改出入站规则后轻松的解决了.但是MYSQL8.0就很坑了,按照网上的解决办法折腾了两个小时,最后解决,依然不明白哪里有问题,只能把操作复现,为以后使用留个记录.

机器环境

操作系统:win10

gui工具:navcat12

MYSQL:v8.011

防火墙开启入站端口

# 直接对root用户修改的方法 #

操作前请在 bin 目录下运行cmd,或者设置好bin的环境变量

  1. 登录MySQL mysql -u root -p
  2. 回车后输入密码
  3. 选择 要操作的服务 use mysql; 我是使用的mysql作为名称,根据你自己服务器名称输入命令
  4. 查看mysql 数据库的 user 表中当前 root 用户的相关信息(host plugin)select host,user,authentication_string,plugin from user;

    执行完命令后显示一个表格, root 用户的 host默认显示的localhost,说明只支持本地访问,不允许远程访问。

  5. 先给root账户授权,这里我直接给了所有权限 grant all privileges on *.* to ‘root‘@‘%‘ with grant option;
  6. 更改 root用户host 的默认配置 update user set host=‘%‘ where user=‘root‘;
  7. 执行前面的查询命令查看root的host是否改变为localhost(如果失败请继续往后看)
  8. 然后更改加密规则 ALTER USER ‘root‘@‘%‘ IDENTIFIED BY ‘password‘ PASSWORD EXPIRE NEVER;
  9. 更新用户密码ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘password‘;
  10. 刷新权限 FLUSH PRIVILEGES;

    成功后,可以看到root的host改变了,plugin也变成了mysql_native_password(以前也是mysql_na...但是要修改后才能真的连接成功,很玄学)

!如果上面的步骤你的修改不成功请接着往下看

直接添加用户的方法

很多人可能和我一样,前面的直接修改root用户失败,之后我尝试了直接添加用户的方法成功了,首先你要确保没有犯低级错误,上面的命令行大多是由分号的,请仔细检查.

  1. 启动cmd,到第三步骤为止都一样,先创建一个用户 Create user ‘name‘@‘%‘ identified by ‘password‘; 名字自己定密码自己定. 执行查询用户命令后可以看到多了一个用户,这里我创建的是else.它的host应该为localhost,之前我忘记截图了.他的plugin是caching_.....

  2. 对用户授权 grant all privileges on *.* to ‘name‘@‘%‘ with grant option;
  3. 修改host update user set host=‘%‘ where user=‘else‘;
  4. 修改加密方式ALTER USER ‘else‘@‘%‘ IDENTIFIED BY ‘password‘ PASSWORD EXPIRE NEVER;
  5. 更新密码 ALTER USER ‘else‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘password‘;
  6. 刷新权限FLUSH PRIVILEGES;
  7. 查询用户可以看到else用户的host为"%" plugin为"mysql_native_password"这样基本就代表成功了.
  8. 问题到此解决了!

# 后记 #

我的root修改是失败的,但是在新建完用户并完成修改后再次修改root就成功了,不知道怎么回事;

总之要运行远程连接,必须保证服务器端用户的host不为”localhost”,plugin为” mysql_native_password.”

所有操作方法都来源于网络,参考了众多帖子,没有做记录不好写明来源,抱歉.

最后祝君成功!

这是自己解决问题时的的笔记,如有错误请评论或者联系我谢谢

原文地址:https://www.cnblogs.com/e1sewhere/p/9606860.html

时间: 2024-08-30 03:13:39

远程连接MYSQL8.0服务器问题的相关文章

远程连接mysql8.0,Error No.2058 Plugin caching_sha2_password could not be loaded

通过本地去连接远程的mysql时报错,原因时mysql8.0的加密方法变了. mysql8.0默认采用caching_sha2_password的加密方式 第三方客户端基本都不支持这种加密方式,只有自带的命令行支持 所以需要修改加密方式. 首先进入mysql命令行 [[email protected] ~]# mysql -u root -p Enter password: 第一步:修改加密方式 ALTER USER'root'@'localhost' IDENTIFIED BY '[email

如何用xmanager远程连接centos6.0的桌面

在centos6.0系统上设置 修改custom.conf文件 vim /etc/gdm/custom.conf 在[security]下面添加 AllowRemoteRoot=true 在[xdmcp]下面添加 Port=177 Enable=1 修改完后效果如下: [daemon] [security] AllowRemoteRoot=true [xdmcp] Port=177 Enable=1 [greeter] [chooser] [debug] 保存退出 2.修改inittab文件 v

【问题记录】Navicat Premium连接mysql-8.0.17时出现2059 - Authentication plugin 'caching_sha2_password’....错误

问题描述: Navicat Premium连接mysql-8.0.17时出现2059 - Authentication plugin 'caching_sha2_password’ cannot be loaded:......错误 问题分析: mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password. 解决办法: 1.登陆数据库:mysql - u root -p; 2.切换数据库:use mys

PyCharm Community 2019.2 连接MySQL8.0 时区不同步的解决

Windows10中,PyCharm Community 2019.2  连接MySQL8.0 连接错误,IDE提示如下: Cannot connect to "MySQL8.0".The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via

Navicat远程连接MySQL8,必知防坑策略

项目上线是每一个开发工程师面临收获前面抓紧时间开发的成果,但有时我们上线项目首先需要做一些相关的业务测试.通过Xshell远程连接后使用命令行的方式连接操作Mysql这个没什么太大的你问题.但每次通过命令这种繁琐的功夫不是程序员应该干的事情,学习还尚可,但是对于开发.效率二字不能离口. 这不,采用本地的Navicat工具直接连接到远程的MySQL8就出事情啦,所以希望这篇文章能够帮助到大家一些相关的开发. 第一步: 打开Navicat工具,编辑连接中的连接信息,分别是配置常规连接与SSH连接 常

PDO连接mysql8.0报PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers错误

安装mysql8.0之后,尝试使用php连接mysql,总是报PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers错误,网上找了很多资料,然而都没有多大用处. 查找了mysql官方说明文档才知道原来M8.0已经已经把默认字符集升级成ut8mb4了,于是找到my.cnf文件,修改如下: 1 [client] 2 port = 3306 3 socke

远程连接阿里云服务器出现"远程桌面,身份验证错误:要求的函数不受支持"解决办法

---恢复内容开始--- 阿里云服务器买好了,按照教程跟着来的,然后在远程连接的时候出现了 的这样的东东,按照上面的提示,"是由于Cred SSP 加密 oracle修正",不少人看到这句话是懵逼的,反正我是不懂这提示什么意思... 不管怎样,可以进图片后面所说的网址看看https://support.microsoft.com/zh-cn/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018 可以看到 然后看到右边

Navicat11.1连接Mysql8.0报错1251的解决办法

今天下载mysql-8.0.13,完成配置及正常启动后,Navicat11.1工具连接时总报错:1251,找到解决办法主是要mysql8的加密方式不同.具体解决办法如下:一.管理员权限打开CMD,输入mysql的root帐号及密码: D:\mysql8>mysql -u root -p输入root的密码回车二.更改mysql的方式:mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVE

navicat连接mysql8.0+版本报错2059

ERROR 2059 : Authentication plugin 'caching_sha2_password' cannot be loaded 问题: 连接Docker启动的mysql出现:ERROR 2059: Authentication plugin 'caching_sha2_password' cannot be loaded 问题出现原因: 在用navicat连接MySQL8+时会出现2059错误,这是由于新版本的MySQL使用的是caching_sha2_password验