1.登录MySQL

mysql -u root -p

输入您的密码

2.选择 mysql 数据库

use mysql;
show variables like '%skip_networking%'; //查数据库编码

3.在 mysql 数据库的 user 表中查看当前 root 用户的相关信息

select host,user from user where user='root';  //mysql 8.0
select host, user, authentication_string, plugin from user;

8.0修改远程访问

use mysql;

GRANT ALL ON *.* TO 'root'@'%';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

执行完上面的命令后会显示一个表格

查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。

创建用户

CREATE USER 'root'@'%' IDENTIFIED BY '111111';
改密码 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '111111';

设置为远程登录

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

 已有用户设置远程登录

update user set host='%' where user='root';   //mysql 8.0

GRANT ALL ON 表示所有权限,% 表示通配所有 host,可以访问远程。

5.刷新权限

所有操作后,应执行

flush privileges;

6.查看 root 用户的 host

再次执行步骤 2,你会发现 root 用户的 host 已经变成 %,说明我们的修改已经成功,可以远程访问了。

7.访问数据库

远程访问数据库的可视化工具比较多如:Navicat、SQLyog、MySQL workbench 等,我这里使用 Navicat

输入访问的 host 和密码,报 2059 错误,这是因为 MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。

此问题有两种方法,一种是更新 Navicat 驱动来解决此问题,另一种是将 MySQL 用户登录的加密规则修改为 mysql_native_password,第一种方法我试过了没有起作用,我这里采用第二种方法。

8.修改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 

9.更新 root 用户密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; 

use database_name;告诉mysql你要使用那个数据库;

service mysqld start/restart/stop  启动服务/重启服务/停止服务

MySQL8.0本地访问设置为远程访问权限的更多相关文章

  1. centos7下安装mysql8.0.12及设置权限

    一.mysql版本介绍 mysql的官网为:https://www.mysql.com/ 在官网上可以看到多个版本,主要版本如下, 1.MySQL Community Server 社区版本,开源免费 ...

  2. 处理并解决mysql8.0 caching-sha2-password问题,开启远程访问

    原文:https://blog.csdn.net/u010026255/article/details/80062153 启动mysql服务:service mysqld start ALTER US ...

  3. Ubuntu 16.04 设置MySQL远程访问权限

    本文记录一下在Ubuntu 16.04版本下设置MySQL数据库的远程访问. 第一步:修改配置文件的端口绑定 打开的目录可能会根据MySQL的版本稍有不同,可以先尝试打开/etc/mysql/my.c ...

  4. xampp只允许本地访问,禁止远程访问

    远程访问phpmyadmin的时候出现错误 New XAMPP security concept: Access to the requested object is only available f ...

  5. mysql8.0.25版本设置主从数据库,并且从库只读

    具体操作步骤 说明:主从数据库版本一致 1.主库创建同步使用的用户 create user 'repl'@'%' identified with 'mysql_native_password' by ...

  6. mysql用户权限设置,远程访问设置、设置固定ip远程访问,设置root用户不能远程访问mysql数据库

    关于mysql的用户管理,笔记   1.创建新用户 通过root用户登录之后创建 >> grant all privileges on *.* to testuser@localhost ...

  7. CentOS7安装MySQL8.0小计

    之前讲配置文件和权限的时候有很多MySQL8的知识,有同志说安装不太一样,希望发个文,我这边简单演示一下 1.环境安装 下载MySQL提供的CentOS7的yum源 官方文档:<https:// ...

  8. Linux下以tar包的形式安装mysql8.0.28

    Linux下以tar包的形式安装mysql8.0.28 1.首先卸载自带的Mysql-libs(如果之前安装过mysql,要全都卸载掉) rpm -qa | grep -i -E mysql\|mar ...

  9. mysql8.0.13免安装版的安装配置详解

    一.下载 下载地址:https://dev.mysql.com/downloads/mysql/ 二.解压到某个目录,例如:D:/mysql/mysql-8.0.13-winx64 三.配置环境变量 ...

随机推荐

  1. 佛祖保佑、永无BUG!!!

    /* _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : | ...

  2. Java设计模式学习01——单例模式(转)

    原地址:http://blog.csdn.net/xu__cg/article/details/70182988 Java单例模式是一种常见且较为简单的设计模式.单例模式,顾名思义一个类仅能有一个实例 ...

  3. MySQL用变量的方法添加伪序号列(自增序列)

    在进行数据筛选时,可能会用到给每一条数据配上一个唯一的序号,便于进行定位. 方法: 序号的设置:   @rownum :=@rownum + 1 AS rownum 获取序号的伪表[必须]:   (S ...

  4. 『PLSQL』在oracle表中怎样创建自增长字段?

    1.建立测试数据表CREATE TABLE TEST( ID NUMBER, NAME VARCHAR2(20), PRIMARY KEY(ID)); 2.创建序列CREATE SEQUENCE SE ...

  5. Linux环境下安装myeclipse+破解

    1.下载myeclipse安装包,下载myeclipse破解文件. 2.修改myeclipse-pro-2014-GA-offline-installer-linux.run的权限 sudo chmo ...

  6. 网络编程基础之Socket套接字简单应用

    一.Socket套接字实现通信循环 所谓通信循环,简单理解就是客户端可以给服务端循环发送信息并获得反馈的过程. 1.基础版 通信循环的程序分为两部分,即两个python模块,分别为客户端.py和服务端 ...

  7. [hdu2665]Kth number(划分树求区间第k大)

    解题关键:划分树模板题. #include<cstdio> #include<cstring> #include<algorithm> #include<cs ...

  8. Log4J的配置文件详解

    来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记 ...

  9. 空值和null区别

    空值代表杯子是真空的,NULL代表杯子中装满了空气

  10. Flask框架 之 信号

    Flask框架中的信号基于blinker,其主要就是让开发者可是在flask请求过程中定制一些用户行为. 安装 pip3 install blinker 内置信号 request_started = ...