首页 > 数据库 >解决Mysql8+版本远程连接问题

解决Mysql8+版本远程连接问题

时间:2023-10-02 17:03:35浏览次数:65  
标签:sha2 Mysql8 user 版本 mysql caching password 远程 localhost

在安装的Mysql 8+版本后远程连接不上

注意:每次修改后,涉及到权限的一定要刷新权限。

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.04 sec)

mysql>

会报一个错误:

1130 - Host '10.45.12.79' is not allowed to connect to this MySQL server

一、查看Mysql是否开启可以远程访问的权限

1.登录mysql机器

mysql -u root -p

2.切换到Mysql数据库

mysql> use mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql>

3.查看是否运行远程访问

可以看到第一行root 用户的host为localhost,要远程访问,需要将它改成%

mysql> select host,user,plugin from user;

+-----------+------------------+-----------------------+

| host | user | plugin |

+-----------+------------------+-----------------------+

| localhost | mysql.infoschema | caching_sha2_password |

| localhost | mysql.session | caching_sha2_password |

| localhost | mysql.sys | caching_sha2_password |

| localhost | root | caching_sha2_password |

+-----------+------------------+-----------------------+

4 rows in set (0.00 sec)

mysql>

4.将host改为%

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

Query OK, 1 row affected (0.07 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql> select host,user,plugin from user;

+-----------+------------------+-----------------------+

| host | user | plugin |

+-----------+------------------+-----------------------+

| % | root | caching_sha2_password |

| localhost | mysql.infoschema | caching_sha2_password |

| localhost | mysql.session | caching_sha2_password |

| localhost | mysql.sys | caching_sha2_password |

+-----------+------------------+-----------------------+

4 rows in set (0.00 sec)

mysql>

5.刷新权限

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.10 sec)

mysql>

现在有权限访问了,但是校验方式又有了问题

2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found

1

二、更改连接的密码校验方式

caching_sha2_password加密方式在远程访问时候不支持。

需要改成:mysql_native_password

1.更改连接方式

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

Query OK, 0 rows affected (0.09 sec)

mysql> select host,user,plugin from user;

+-----------+------------------+-----------------------+

| host | user | plugin |

+-----------+------------------+-----------------------+

| % | root | mysql_native_password |

| localhost | mysql.infoschema | caching_sha2_password |

| localhost | mysql.session | caching_sha2_password |

| localhost | mysql.sys | caching_sha2_password |

+-----------+------------------+-----------------------+

4 rows in set (0.00 sec)

mysql>

2.刷新权限

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.04 sec)

mysql>

3.远程连接

OK了

三、创建用户并授权

1.创建用户

Mysql 8 在创建用户上面,有了很大的不同

Mysql 8 之前的创建方式在这里会报错

mysql> GRANT ALL ON *.* TO `wangwei`@`127.0.0.1` IDENTIFIED BY 'passowrd' WITH GRANT OPTION;

ERROR 1064 (42000): 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 'passowrd' WITH GRANT OPTION' at line 1

1

2

Mysql 8正确的创建方式

mysql> CREATE USER `developer`@`%` IDENTIFIED BY '123456';

Query OK, 0 rows affected (0.08 sec)

mysql> select host,user,plugin from user;

+-----------+------------------+-----------------------+

| host | user | plugin |

+-----------+------------------+-----------------------+

| % | developer | caching_sha2_password |

| % | root | mysql_native_password |

| localhost | mysql.infoschema | caching_sha2_password |

| localhost | mysql.session | caching_sha2_password |

| localhost | mysql.sys | caching_sha2_password |

+-----------+------------------+-----------------------+

5 rows in set (0.00 sec)

mysql>

2.授权

mysql> GRANT ALL ON *.* TO `developer`@`%` WITH GRANT OPTION;

Query OK, 0 rows affected (0.09 sec)

mysql> select host,user,plugin from user;

+-----------+------------------+-----------------------+

| host | user | plugin |

+-----------+------------------+-----------------------+

| % | developer | caching_sha2_password |

| % | root | mysql_native_password |

| localhost | mysql.infoschema | caching_sha2_password |

| localhost | mysql.session | caching_sha2_password |

| localhost | mysql.sys | caching_sha2_password |

+-----------+------------------+-----------------------+

5 rows in set (0.00 sec)

mysql>

发现用户developer的加密连接方式plugin不对,修改一下

最后一定要刷新权限

mysql> ALTER USER 'developer'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

Query OK, 0 rows affected (0.08 sec)

mysql> select host,user,plugin from user;

+-----------+------------------+-----------------------+

| host | user | plugin |

+-----------+------------------+-----------------------+

| % | developer | mysql_native_password |

| % | root | mysql_native_password |

| localhost | mysql.infoschema | caching_sha2_password |

| localhost | mysql.session | caching_sha2_password |

| localhost | mysql.sys | caching_sha2_password |

+-----------+------------------+-----------------------+

5 rows in set (0.00 sec)

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.04 sec)

mysql>

3.连接

好了,可以愉快的开发了!


标签:sha2,Mysql8,user,版本,mysql,caching,password,远程,localhost
From: https://blog.51cto.com/u_16270511/7683789

相关文章

  • linux使用glibc版本安装mysql8.0.12
    1、前言使用yum安装虽然很方便,但是如果要是在没有公网的环境下,是没有办法使用yum源的。所以我们可以使用mysql提供的glibc版本的安装包,进行安装。但是在安装之前,一定要将以前的版本删除,包括/etc/my.cnf和/etc/my.cnf.d一类的文件全部删除,否则在启动的时候会导致混乱。从而报错。软......
  • 运维 | 如何使用 nvm 安装和管理 nodeJS 版本
    运维|如何使用nvm安装和管理nodeJS版本简介NVM是什么nvm(NodeVersionManager)是NodeJS版本管理器,可对不同的node版本快速进行切换。为什么要用NVM基于node的工具和项目越来越多,但是每个项目使用的node版本可能不一致,就会出现一些奇怪的问题。比如:自己电脑......
  • 【大数据】Vmare配置版本
    第一步:配置VMware打开:编辑->虚拟网络编辑器->更改设置VMnet8->子网IP:192.168.88.0NAT设置->网关ip:192.168.88.2理解: VMnet8是VMwareWorkstation中的一个虚拟网络,其配置的子网IP地址为192.168.88.0,NAT(网络地址转换)设置的网关IP为192.16......
  • jenkins教程:Publish Over SSH插件远程ssh执行命令
    PublishOverSSHjenkins构建完成后需要一键发布,结构如下A服务器svnB服务器jenkinsC服务器应用服务器B从A拉取代码后打包成war,然后向C服务器拷贝war包这里解决的就是远程拷贝问题1.首先安装jenkinsSSH插件打开Jenkins的“系统管理>管理插件”,选择“可选插件”,在输入框中输入“......
  • 内网穿透:实现远程访问和测试内部网络的关键技术
    ......
  • 深入理解Git版本控制:构建协作、追踪和管理代码的完美工具
    ......
  • git远程空仓库创建以及本地项目关联远程仓库
    远程服务器上创建空仓库远程服务器:进入git仓库目录:cd/home/gitmkdirjava-test.gitcdjava-test.gitgitinit--barechown-Rgit:gitjava-test.git本地项目:cd 项目目录gitinitgitcheckout-b develop在项目里面,添加readme.md写一点内容gitadd.gitcommit......
  • ITIL各版本的一些细节-基础篇
    ITIL并不是标准,而是一套规范和框架,真正的标准是ISO20000,可以说ITIL是“事实上的标准”。信息安全管理不是ITIL的强项,是ITILV2的第十一个流程(并不在十大核心流程里面)。ISO27000是信息安全的标准。ITILV3/2011包含五个模块,其中服务战略、服务设计、服务转换、服务运营是生命周期......
  • Windows Server 2012 R2版本区别
    WindowsServer2012R2版本区别https://it.cha138.com/android/show-2899728.htmlWindowsServer2012R2激活密钥https://m.haozhuangji.com/xtjc/162316223.html......
  • 远程管理交换机
    远程管理交换机1.2.补充:1.noshutdown代表开启该vlan端口。2.linevty04代表开启虚拟终端(虚拟连接),以便于外部计算机可以通过远程连接到该交换机(TELNET/SSH)。需要注意的是04代表可以同时有5台机器连接到该交换机。这个值的范围为015。即,最......