VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > MySQL >
  • MYSQL 8.0之密码加密方式

密码加密方式

官方文档

问题

在MYSQL 8.0中包含了一下三种加密插件

  • caching_sha2_password

  • sha256_password

  • mysql_native_password

mysql_native_password插件相比,caching_sha2_passwordsha256_password身份验证插件提供了更安全的密码加密。且caching_sha2_password在性能上优于sha256_password,因此在MYSQL 8.0中caching_sha2_password成为了默认的加密插件。

  • 修改MYSQL配置文件:/etc/my.cnf

    vim /etc/my.cnf
    ...
    [mysqld]
    default_authentication_plugin=mysql_native_password
    ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 也可以在服务器启动时添加命令行参数

     --default-authentication-plugin=mysql_native_password 加上  --initialize选项 或者 --initialize-insecure选项
    
    • 1

这种方法是为了兼容那些旧版本客户端能连接到新版本的MYSQL服务器,最好的做法是不要更改服务端参数,而是升级客户端,对于Java程序员来说,升级MYSQL驱动到8.0.9或更高的版本。

修改现有账户的加密方式

在MYSQL安装的时候默认创建了'root'@'localhost'账号,因此只要修改了账户的加密方式旧版的客户端就可以通过此账号密码连接数据库。

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

相关教程