MySQL 8.0踩的坑
前言
在安装了新的Ubuntu21.04后,安装MySQL数据库后,遇到了一些坑,现记录在此。
一、MySQL 8.0 删除了password()
如果你下载完数据库更改密码的时候,语句语法没有出错,但是一直提示语法错误更改不了密码。此时,你可以康康你的MySQL版本是不是8或以上,因为在8.0以后,使用如下所示的语句也不能修改密码了。
use mysql;
update user set authentication_string=Password('root123') where user='root' and host='localhost';
我查了挺久,发现mysql8.0已经取消了password字段和password()函数,这就是说不论是set authentication_string=password(),还是set password=password(),都不可用了。
二、MySQL 8.0以后修改root密码
争对MySQL 8.0出现的问题,在8.0以后应该采取如下语句。
alter user 'root'@'%' identified with mysql_native_password by '新的密码';
在创建完成后还要运行如下语句刷新权限:
flush privileges;