随笔 - 139  文章 - 1  评论 - 0  阅读 - 47214

mysql系列2 权限相关

mysql授权认证

  

 

   

 

   请注意(大坑):mysql8.0以前的版本可以使用grant在授权的时候隐式的创建用户,8.0以后已经不支持,所以必须先创建用户,然后再授权!!

 

   例子:

在170mysql主机上授权远程登录mysql的主机以及用户:

  mysql> create user 'test02bak'@'192.168.132.171' identified by '198804253013R_yb';   

在171主机远程连接170mysql数据库:报如下错误

  [root@localhost ~]# mysql -utest02bak -p -h192.168.132.170 -P3306
Enter password:
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

  解决方法:

    

    在MySQL8.0.4以前,执行SET PASSWORD=PASSWORD('[修改的密码]');就可以更改密码,但是MySQL8.0.4开始,这样默认是不行的。因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。因为当前有很多数据库工具和链接包都不支持“caching_sha2_password。”

    两种方法解决此问题:1.  暂时改回“mysql_native_password”认证插件:

                  mysql> ALTER USER 'test02'@'192.168.132.171' IDENTIFIED WITH mysql_native_password BY 'password';

      2.  修改配置文件/etc/my.cnf:想默认使用“mysql_native_password”插件认证,可以在配置文件中配置,添加如下红色内容:       

         more /etc/my.cnf            

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

[mysqld]
default_authentication_plugin=mysql_native_password

.................................................................................................

 

posted on   永远的大空翼  阅读(115)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示