MySQL8.0允许外部访问

 
 
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

一、前置条件:

按照https://blog.csdn.net/h996666/article/details/80917268安装完MySQL之后。

二、开始修改配置:

1,登进MySQL之后,

2,输入以下语句,进入mysql库:

use mysql

3,更新域属性,'%'表示允许外部访问:

update user set host='%' where user ='root';

4,执行以上语句之后再执行:

FLUSH PRIVILEGES;

5,再执行授权语句:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

然后外部就可以通过账户密码访问了。

6,其它说明:

FLUSH PRIVILEGES; 命令本质上的作用是:

将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。

MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。

通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。

而不必冒太大风险。

三、可能存在的其它问题:

执行完之后,再用Navicat连接mysql,报错如下:

Client does not support authentication protocol requested by server;

报错原因:

mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式Navicat 12以下客户端不支持;

Navicat 12以下客户端支持的是mysql_native_password 这种加密方式;

解决方案:

1,用如下语句查看MySQL当前加密方式

select host,user,plugin from user;

查询结果

  1.  
    +-----------+------------------+-----------------------+
  2.  
    | host | user | plugin |
  3.  
    +-----------+------------------+-----------------------+
  4.  
    | % | root | caching_sha2_password |
  5.  
    | localhost | mysql.infoschema | mysql_native_password |
  6.  
    | localhost | mysql.session | mysql_native_password |
  7.  
    | localhost | mysql.sys | mysql_native_password |
  8.  
    +-----------+------------------+-----------------------+

看第一行,root加密方式为caching_sha2_password。

2,使用命令将他修改成mysql_native_password加密模式:

update user set plugin='mysql_native_password' where user='root';

再次连接的时候,就成功了。

四、如果还连接不上

通过以上操作后,依然无法连接上,问题可能出在了防火墙上。

1,MySQL部署在实体服务器上解决方案如下:
a.开放MySQL的端口号,默认端口号是3306。
b.直接关闭防火墙(慎重操作,不建议。当然测试玩的话就随意了。。。。)

2,MySQL部署在云计算机上的方案如下:
a.以阿里云为例,找到实例,设置安全组,开放端口号即可。

MySQL8.0允许外部访问的更多相关文章

  1. MySQL8.0本地访问设置为远程访问权限

    1.登录MySQL mysql -u root -p 输入您的密码 2.选择 mysql 数据库 use mysql; 因为 mysql 数据库中存储了用户信息的 user 表. 3.在 mysql ...

  2. Flask 服务器设置host=0.0.0.0之后外部仍然无法访问, 使用命令python *.py run启动OK

    IP设置成0.0.0.0,还是不能外部访问 if __name__ == '__main__': app.run(host=, debug=True) 使用的Pycharm IDE,使用的三角号运行的 ...

  3. mysql-8.0.15允许外网访问

    1.进MySQL之后, 2.输入以下语句,进入mysql库: use mysql3.更新域属性,'%'表示允许外部访问: update user set host='%' where user ='r ...

  4. docker安装Mysql8.0并挂载外部配置和数据

    环境 CentOS Linux release 7.7.1908 (Core) 拉取Mysql8.0 镜像 docker pull mysql:8.0.18 创建挂载目录 mkdir -p /home ...

  5. 如何访问linux服务器上的mysql8.0

    首先安装好了mysql-connector 1.1. 下载: 官网下载zip包,我下载的是64位的: 下载地址:https://dev.mysql.com/downloads/mysql/ 下载zip ...

  6. mysql8.0发布新特性

    2018年4月21日 14:36:42 https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html#mysqld-8-0-11-b ...

  7. Mysql8.0主从复制搭建,shardingsphere+springboot+mybatis读写分离

    1.安装mysql8.0 首先需要在192.167.3.171上安装JDK. 下载mysql安装包,https://dev.mysql.com/downloads/,找到以下页面下载. 下载后放到li ...

  8. CentOS7.5 上使用 bundle 文件安装 MySQL8.0 MySQL5.0

    CentOS7.5 上使用 bundle 文件安装 MySQL8.0 MySQL5.0 CentOS7.5 环境 [root@instance-fjii60o3 ~]# rpm -qi centos- ...

  9. navicate 连接mysql8.0,个人踩坑问题汇总

    navicate 连接mysql8.0,个人踩坑问题汇总本文目录:1:安装mysql8.0新增全新验证方式,安装如果不修改mysql连接不上2:mysql启动命令问题3:navicate 运程连接My ...

随机推荐

  1. 使用filter过滤GZIP压缩(二)

    在代码之前,讲一下用filter实现GZIP压缩的原理: 因为GZIP压缩之后,是从服务器端传输到浏览器端,从servlet到浏览器(从jsp到浏览器),其实是response带回内容,所以我们要在f ...

  2. Bing每日壁纸的RESTful接口实现

    0x00 存在意义 权且当作Docker打包的练习. 显然可以通过构造请求获得每天的壁纸,但是如果想要优雅地在其它地方使用这一网络资源,封装一个RESTful API将会保证整洁美观,在编写CSS等场 ...

  3. Linux基础——安装以及常用命令

    Linux基础--常用命令 1.安装Vmware 进入VMware官网:  https://www.vmware.com/cn.html下载安装 镜像推荐网址下载:https://www.linux. ...

  4. 接口测试进阶接口脚本使用--apipost(预/后执行脚本)

    预执行脚本的作用时间 预执行脚本是一个请求发送前执行的脚本. 预执行脚本的作用 预执行脚本可以完成以下作用: 编写JS函数等实现复杂计算: 变量的打印 定义.获取.删除.清空环境变量 定义.获取.删除 ...

  5. MySQL授权认证

    • MySQL-权限系统介绍 • 权限系统的作用是授予来自某个主机的某个用户可以查询.插入.修改.删除等数据库操作的权限 • 不能明确的指定拒绝某个用户的连接 • 权限控制(授权与回收)的执行语句包括 ...

  6. Go-内置函数之append、recover用法

    package main import "fmt" import "time" func test() { defer func() { if err := r ...

  7. mysql绕过root密码登录

    绕过密码登录步骤: 一.Mysql8.0之前: 关闭服务 执行参数:mysqld --skip-grant-tables 新开窗口执行mysql,即可进入mysql 二.Mysql8.0之前: 关闭服 ...

  8. Kubernetes-Pod介绍(-)

    前言 本篇是Kubernetes第四篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战.从现在开始都是重要的核心概念,此篇偏一些Pod的概念介绍,后续每篇都会有实战. Kubernetes系列 ...

  9. list类型数据的操作指令

    1. 结果是 3 2 1 还可以继续追加如下: 2. 3. 4.删除表头元素(最左侧的元素),并返回该元素 5. 6. 7.删除表尾的元素(最右侧的元素),并返回该元素 8.

  10. 20210716 noip17

    考场 终于有一场在晚上考了 T1 随便画了画就发现要求每个点的后继个数,想起来有 dfs 和 toposort 两种方法,感觉很稳 T2 裸的网络流有 70pts?!真香 一看 T3 就想起了 Mst ...