26
2023
04
17:11:56

caching_sha2_password取代mysql_native_password成为MySQL8.0以上版本的默认密码认证方式



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

1、MySQL8.0修改密码认证插件(authentication plugins)

       MySQL8.0版本公布了新的密码加密认证插件caching_sha2_password,而先前版本的默认插件是mysql_native_password。根据官方描述,caching_sha2_password和sha256_password(caching_sha2_password和sha256_password类似)的加密性能强于mysql_native_password,比后者拥有更安全的密码散列,因此8.0版本之后将caching_sha2_password作为MySQL的首选认证插件。


2、更新或安装8.0以上版本MySQL后如何修改密码认证方式

      本次更新同时影响到了服务器和libmysqlclient客户端库。我们应该意识到,虽然MySQL进行了修改,但是有些第三方客户端可能并不支持该类修改


  1、对于服务器,default_authentication_plugin系统变量的默认值由mysql_native_password变成了caching_sha2_password。

      但上述更改仅适用于安装或升级到MySQL8.0及其以上版本后创建的新用户,对于升级安装前已经存在的账户,其身份验证插件保持不变。如果您希望切换到caching_sha2_password,则应该用下述语句:


ALTER USER user

  IDENTIFIED WITH caching_sha2_password

  BY 'password';


2、对于libmysqlclient客户端库,该库将mysql_native_password视为默认身份验证插件。


3、恢复到以前的默认密码验证插件mysql_native_password

        如果您必须要为8.0版本之前的客户端提供服务的话,那我们就应该对身份验证插件进行修改,在MySQL的安装目录路径下的配置文件my.ini中我们加入:


[mysqld]

default_authentication_plugin=mysql_native_password

       所谓MySQL的安装目录路径指的是如下这个含有bin、include等的路径,我的路径是C:\Program Files\MySQL\MySQL Server 8.0,可根据自己的电脑配置进行更改,其中的“配置设置”类型的文件my就是我们要修改的文件my.ini


ef494db3ad6e7295f412df3b79011533_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NjAwOTY1Ng==,size_16,color_FFFFFF,t_70.png


       但是由于本文件夹下可能需要权限,我们对于my.ini的修改完成后点击保存会弹出“另存为”对话框:


43787e902691c5d80054018bf528bd49_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NjAwOTY1Ng==,size_16,color_FFFFFF,t_70.png


      因此我们选择,将my.ini剪切到其他地方(例如桌面),此时会弹出对话框询问需要拥有管理员权限才能进行该操作,点击“确认”后,在桌面上进行相关修改再重新剪切到原位置即可。


      P.S.:官方极力组织该操作,并将其称之为“临时性的操作”,因为该操作会让以后创建的新用户放弃了改进后的caching_sha2_password而采用原始的mysql_native_password,看得出官方对于该改进比较满意(当然了,不满意的话怎么可能更新)。


本文链接:https://www.hqyman.cn/post/4004.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: