远程连接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的环境变量
- 登录MySQL
mysql -u root -p - 回车后输入密码
- 选择 要操作的服务
use mysql;我是使用的mysql作为名称,根据你自己服务器名称输入命令 - 查看mysql 数据库的 user 表中当前 root 用户的相关信息(host plugin)
select host,user,authentication_string,plugin from user;

执行完命令后显示一个表格, root 用户的 host默认显示的localhost,说明只支持本地访问,不允许远程访问。 - 先给root账户授权,这里我直接给了所有权限
grant all privileges on *.* to 'root'@'%' with grant option; - 更改 root用户host 的默认配置
update user set host='%' where user='root'; - 执行前面的查询命令查看root的host是否改变为localhost(如果失败请继续往后看)
- 然后更改加密规则
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; - 更新用户密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; - 刷新权限
FLUSH PRIVILEGES;

成功后,可以看到root的host改变了,plugin也变成了mysql_native_password(以前也是mysql_na...但是要修改后才能真的连接成功,很玄学)
!如果上面的步骤你的修改不成功请接着往下看
直接添加用户的方法
很多人可能和我一样,前面的直接修改root用户失败,之后我尝试了直接添加用户的方法成功了,首先你要确保没有犯低级错误,上面的命令行大多是由分号的,请仔细检查.
启动cmd,到第三步骤为止都一样,先创建一个用户
Create user 'name'@'%' identified by 'password';名字自己定密码自己定. 执行查询用户命令后可以看到多了一个用户,这里我创建的是else.它的host应该为localhost,之前我忘记截图了.他的plugin是caching_.....

- 对用户授权
grant all privileges on *.* to 'name'@'%' with grant option; - 修改host
update user set host='%' where user='else'; - 修改加密方式
ALTER USER 'else'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; - 更新密码
ALTER USER 'else'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; - 刷新权限
FLUSH PRIVILEGES; - 查询用户可以看到else用户的host为"%" plugin为"mysql_native_password"这样基本就代表成功了.
问题到此解决了!
# 后记 #
我的root修改是失败的,但是在新建完用户并完成修改后再次修改root就成功了,不知道怎么回事;
总之要运行远程连接,必须保证服务器端用户的host不为”localhost”,plugin为” mysql_native_password.”
所有操作方法都来源于网络,参考了众多帖子,没有做记录不好写明来源,抱歉.
最后祝君成功!
这是自己解决问题时的的笔记,如有错误请评论或者联系我谢谢
远程连接MYSQL8.0服务器问题的更多相关文章
- 远程连接mysql8.0,Error No.2058 Plugin caching_sha2_password could not be loaded
通过本地去连接远程的mysql时报错,原因时mysql8.0的加密方法变了. mysql8.0默认采用caching_sha2_password的加密方式 第三方客户端基本都不支持这种加密方式,只有自 ...
- navicate远程连接mysql8.0失败
已经给了远程连接权限(update mysql.user set host = "%" where user = 'root'; flush privileges;) 连接错误提示 ...
- navicate 连接mysql8.0,个人踩坑问题汇总
navicate 连接mysql8.0,个人踩坑问题汇总本文目录:1:安装mysql8.0新增全新验证方式,安装如果不修改mysql连接不上2:mysql启动命令问题3:navicate 运程连接My ...
- SQL Server "允许远程连接到此服务器" 配置
在SQL Server的属性-->连接中我们可以看到这样一个选项:'允许远程连接到此服务器'(英文是remote access),其默认值是1,表示此选项开启. 但是这个参数并非是字面上所显示的 ...
- 阿里云ecs初始化磁盘后远程连接不到服务器
阿里云初始化磁盘后远程连接不到服务器 报错: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! ... 原因:阿里云ecs第一次链接服务器之后会在本地电 ...
- JMC监控(Windows上远程连接监控Linux服务器的JVM)
Windows上远程连接监控Linux服务器的JVM:1.Linux服务器上配置:在Tomcat的tomcat-wms/bin/catalina.sh中添加CATALINA_OPTS="-X ...
- SQLServer 2005客户端远程连接sql2008 数据库服务器
SQL2005客户端远程连接sql2008 数据库服务器 by:授客 QQ:1033553122 准备工作: 客户端所在pc机配置: 配置数据源 控制面板-管理工具-ODBC数据源-系统DSN-添加- ...
- JAVA连接MYSQL8.0问题
title: java连接mysql8.0问题 date: 2018-07-08 19:27:38 updated: tags: description: keywords: comments: im ...
- SQLyog连接MySQL8.0报2058错误的解决方案
引言 用SQLyog连接MySQL8.0(社区版:mysql-installer-community-8.0.15.0.msi),出现错误2058(Plugin caching_sha2_passwo ...
随机推荐
- webpack.config.js====插件clean-webpack-plugin
1. 安装:主要是用来清除重复文件,生成最新的的插件 就是说在编译文件的时候,先把 build或dist (就是放生产环境用的文件) 目录里的文件先清除干净,再生成新的带有hash值的文件 cnpm ...
- 数据库(数据库、表及表数据、SQL语句)
数据库MYSQL 今日内容介绍 u MySQL数据库 u SQL语句 第1章 数据库 1.1 数据库概述 l 什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储 ...
- MATLAB中容易忽略却经常遇到的小技巧总结
1 如何产生一个列向量相同的矩阵 例如,列向量x=[1;2;3],要产生矩阵A=[x,x,x],即[1,1,1;2,2,2;3,3,3]. A = repmat(x,1,n) 2 ...
- thisnkphp添加二维码
Rcode二维码生成类QRcode.class.php实例演示 <?php //import('@.Org.QRcode');//thinkphp include_once('QRcode.cl ...
- 在.net平台上运行伪JAVA
由于在一个项目局方要求使用JAVA平台, 而当前又都是.net平台的应用. 重新用JAVA开发工作量太大. 时间也来不及. 想到在.net中有url rewrite功能, 何不先"骗&quo ...
- Django 从0开始创建一个项目
title: Django 从0开始创建一个项目 tags: Django --- Django 从0开始创建一个项目 创建Django工程及配置 创建工程:django-admin starproj ...
- PAT (Basic Level) Practise (中文)- 1010. 一元多项式求导 (25)
http://www.patest.cn/contests/pat-b-practise/1010 设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为n*xn-1.) 输入格式:以指数递降 ...
- java基础—java制作证书的工具keytool
一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在 ...
- 题解 P1379 【八数码难题】
传送门 用STL中的queue,map,string写了个广搜,用一个string保存状态(见代码)注:STL比较慢,可以做一些优化(或者开O2) #include<iostream> # ...
- 【二分 最大流】bzoj1532: [POI2005]Kos-Dicing
晚上果然不适合调题目 Description Dicing 是一个两人玩的游戏,这个游戏在Byteotia非常流行. 甚至人们专门成立了这个游戏的一个俱乐部. 俱乐部的人时常在一起玩这个游戏然后评选出 ...