yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
yum install mysql-community-server
systemctl start mysqld systemctl enable mysqld
grep 'temporary password' /var/log/mysqld.log
mysql -pt&ki3u&+ib7X mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这个与validate_password_policy的值有关, mysql8.0更改了validate_password_policy相关的配置, 这跟Mysql5.7有点不一样
mysql> set global validate_password.policy=0; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password.length=1; Query OK, 0 rows affected (0.00 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.03 sec)
授权方式改变
mysql5.7
mysql> grant all privileges on *.* to 'kevin'@'%' ;
mysql8.0
mysql> grant all privileges on *.* to 'kevin'@'%' with grant option;
MySQL8.0默认是不能使用root账户远程登录的
修改为可以远程登录
mysql> update mysql.user set host='%' where user="root"; mysql> flush privileges;
加密规则的改变
mysql8 之前的版本中加密规则是mysql_native_password, 而在mysql8之后,加密规则是caching_sha2_password
使用navicat进行mysql登录时出现弹窗报错
修改方式一是:升级navicat驱动,二是:把MySQL用户登录密码加密规则还原成mysql_native_password
#修改加密规则 mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; Query OK, 0 rows affected (0.16 sec) #更新一下用户的密码 mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; Query OK, 0 rows affected (0.08 sec) #刷新权限 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.03 sec)
update修改密码,密码字段名称更改
mysql>update user set authentication_string=password("root") where user='root' and host='localhost';