* TO 'root'@'%'; Query OK, 0 rows affected (0.02 sec) mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password
因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。...方法一: 登录MySQL后输入: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPassword...vi /etc/my.cnf 在[mysqld]中添加下边的代码 default_authentication_plugin=mysql_native_password 然后重启MySQL service
mysql.infoschema | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password...mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password...mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password...---------+ 5 rows in set (0.06 sec) 修改arhiver账号的密码验证插件类型: ALTER USER 'archiver'@'%' IDENTIFIED WITH mysql_native_password...archiver | % | *13D295FD7B8108ABBC89FCDDD342FFBFF5DA803C | mysql_native_password
mysql-connector是MySQL提供的驱动器,是用来连接mysql的 image.png 2.修改mysql的配置文件 在 MySQL 8.0 中验证插件和密码加密方式发生了变化,要让它使用“mysql_native_password...”插件认证方式,所以需要在mysql的配置文件my.ini中[mysqld]下添加一下内容,并重启mysql [mysqld] # 默认使用“mysql_native_password”插件认证 default_authentication_plugin...=mysql_native_password 二.连接数据库 代码如下:需要准确的输入数据库的主机地址,用户名,密码 import mysql.connector mydb = mysql.connector.connect...localhost", #数据库主机地址 user="root", #数据库用户名 passwd="Aa123", #数据库密码 auth_plugin='mysql_native_password...localhost", #数据库主机地址 user="root", #数据库用户名 passwd="Aa123", #数据库密码 auth_plugin='mysql_native_password
为了继续维持我们常见的web连接的mysql身份验证方式,我们需要将默认的连接方式及root账户的连接方式恢复为旧的mysql_native_password方式。...更改root账户的验证方式为 mysql_native_password ,在mysql管理界面输入对应密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH...mysql_native_password BY '!...1234' 刷新配置启用 FLUSH PRIVILEGES; 修改默认加密方式为 mysql_native_password 。修改mysql配置文件my.cnf。末尾增加以下一行。...default_authentication_plugin=mysql_native_password 经过以上设置后,先关配置生效,就可以和mysql老版本一样愉快的连接我们的web服务了。
为继续使用老的身份验证方式,需显式指定身份验证方式为 mysql_native_password,如下:ALTER USER 'ingp_auth'@'%' IDENTIFIED WITH mysql_native_password...--------------------------------------------------------+| % | inspur | mysql_native_password...C8748776F9F2654A936BC271540A851C11E2AD3F || % | liking | mysql_native_password...A50765F60EB794160A595BCC438DB2956A249044 || % | proxysql | mysql_native_password...F4E4F064BB1F087322285CE17C1CD5D0CA1BC03C || localhost | root | mysql_native_password
7'^~><wv2CnNz7y/eQsnjIEhN4eA2hHb/2HK4lNqTljQuBmh0 | | % | root | mysql_native_password...f KhaCTT7IiA1dojLsbyuwl5ILWi/Rkm2f2tPK.G4816Oth8.92Q4D | | localhost | root | mysql_native_password...GRANT OPTION; #刷新权限 flush privileges; MySQL8.0 针对已创建用户 ALTER USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password...BY 'password'; ALTER USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; flush privileges...BY 'password'; CREATE USER username@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
解决方案 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; ALTER USER 'root'@'localhost...' IDENTIFIED WITH mysql_native_password BY '123456'; flush privileges; ?...需要改为Navi cat支持的mysql_native_password。...| +-----------+------------------+-----------------------+ | % | root | mysql_native_password...password | | localhost | mysql.sys | caching_sha2_password | | localhost | root | mysql_native_password
loaded 报错原因: Navicat不支持MySQL新版本的‘’caching_sha2_password’这种用户登录账户加密方式,所以需要修改root账户的加密方式,修改成Navicat支持的方式‘mysql_native_password...mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。...修改登录用户的加密规则 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; ALTER USER '...root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; ALTER USER 'root'@'localhost' IDENTIFIED...WITH mysql_native_password BY '123456'; 很多人不成功是由于连接的并不是localhost的!
MySQL5.8从开始将caching_sha2_password作为默认的身份验证插件 该caching_sha2_password和 sha256_password认证插件提供比mysql_native_password...由于这些优越的安全性和性能特性 caching_sha2_password它是MySQL 8.0首选的身份验证插件,而且也是默认的身份验证插件而不是 mysql_native_password。...在MySQL 5.7中,默认的身份验证插件是 mysql_native_password! ...对于已升级安装中已存在的帐户,其身份验证插件保持不变,还是mysql_native_password。...例如,在配置文件my.cnf中使用以下行: [mysqld] default_authentication_plugin=mysql_native_password 该设置允许8.0之前的客户端连接到
server; 报错原因: mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式Navicat 12以下客户端不支持; Navicat 12以下客户端支持的是mysql_native_password...--------+ | % | root | caching_sha2_password | | localhost | mysql.infoschema | mysql_native_password...| | localhost | mysql.session | mysql_native_password | | localhost | mysql.sys | mysql_native_password...2,使用命令将他修改成mysql_native_password加密模式: update user set plugin='mysql_native_password' where user='root
--------+-----------------------+ | root | auth_socket | | mysql.sys | mysql_native_password...| | debian-sys-maint | mysql_native_password | +------------------+-----------------------+ The reason...--------+-----------------------+ | root | auth_socket | | mysql.sys | mysql_native_password...| | debian-sys-maint | mysql_native_password | +------------------+-----------------------+ As you...is using the auth_socket plugin There are 2 ways to solve this: You can set the root user to use the mysql_native_password
然后低版本的root用户使用的plugin是mysql_native_password,而且明显mysql8也支持mysql_native_password,那么解决方法很简单啦 根据mysql官方的例子...ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 也可以是update语句 update mysql.user...set plugin='mysql_native_password' where user= 'root';
除了手工设置密码过期外,我们还可以设置密码永不过期和指定过期时间: ### 设置密码永不过期 mysql> create user yeyz1@'127.0.0.1' identified with 'mysql_native_password...rows affected (0.01 sec) ### 设置密码过期天数为指定天数 mysql> create user yeyz2@'127.0.0.1' identified with 'mysql_native_password...(0.01 sec) 如果我们想遵循全局密码到期策略,则可以使用defalut关键字: mysql> create user yeyz3@'127.0.0.1' identified with 'mysql_native_password...设置单个密码可重复使用时间和可重复使用的间隔次数 ### 设置密码为每间隔5次才可以重复使用 mysql> create user yeyz3@'127.0.0.1' identified with 'mysql_native_password...) ### 设置密码为每隔5天可以重复使用或者每个5次才可以重复使用,取最严格的那个条件 mysql> create user yeyz5@'127.0.0.1' identified with 'mysql_native_password
服务端使用的字符集默认为utf8mb4 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password...”插件认证 #mysql_native_password default_authentication_plugin=mysql_native_password [mysql] # 设置mysql...服务端使用的字符集默认为utf8mb4 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password...”插件认证 #mysql_native_password default_authentication_plugin=mysql_native_password [mysql] # 设置mysql
38:01 解决问题:连接mysql,然后出现了1698的错误信息 查看一下user表,错误的起因就是在这里, root的plugin被修改成了auth_socket,用密码登陆的plugin应该是mysql_native_password...| +-----------+-----------------------+ | root | auth_socket | | mysql.sys | mysql_native_password...| | dev | mysql_native_password | +-----------+-----------------------+ 3 rows in set (0.01 sec...) 在执行下面的命令 update mysql.user set authentication_string=PASSWORD('newPwd'), plugin='mysql_native_password
----------------+ 5 rows in set (0.01 sec) 发现一切都正常,再检查 plugin 字段,发现只有 root 用户是 auth_socket ,其它的用户都是 mysql_native_password...| +------------------+-----------+-----------------------+ | lisi | % | mysql_native_password...| | mysql.session | localhost | mysql_native_password | | mysql.sys | localhost | mysql_native_password...rows in set (0.02 sec) 问题解决 对 auth_socket 验证插件不了解,感觉是这个插件不安全,使用下面的命令修改后,问题解决: update user set plugin="mysql_native_password...MySQL 的 root 用户就不能随便使用了,这时可以换成其它的验证方式,可以使用下面的命令进行切换: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
但是测试时出现以下错误提示: 2059 Authentication plugin 'caching_sha2_password' cannot be loaded 原因分析 mysql8 之前的版本中加密规则是mysql_native_password...否则用navicat连接就会报2059错误,如果想继续使用以前的老特性,可以将mysql用户登录的加密规则还原为mysql_native_password 解决方法 解决问题方法有两种,一种是升级navicat...驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password。...IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
一、配置mysql的配置文件my.cnf vim /etc/my.cnf #在[mysqld]部分添加如下一行字符 default_authentication_plugin = mysql_native_password...* . * TO 'root'@'127.0.0.1'; #刷新权限 flush privileges; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password... BY '123456'; ALTER USER 'root'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY '123456'; #退出mysql
# 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password...”插件认证 #mysql_native_password default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集...install MySQL5 mysqld --initialize mysql -uroot -p 输入密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password...# 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password...”插件认证 #mysql_native_password default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集
领取专属 10元无门槛券
手把手带您无忧上云