在Ubuntu18.04上安装MySQL后,发现在普通用户shell下无法使用root用户名登录MySQL,mysql -uroot -pmysql,提示权限问题,命令必须改为,sudo mysql -uroot -pmysql,这样就比较麻烦,特别是用程序链接数据库,就没法链接成功。
后来看了一下mysql的数据库
发现MySQL的root用户的plugin被修改了,只有换成mysql_native_password才可以使用密码登录MySQL。
使用下面的命令更改plugin,同时设置MySQL的root访问密码
update mysql.user set authentication_string=PASSWORD('mysql'), plugin='mysql_native_password' where user='root';
flush privileges;
退出后,切换到普通用户shell并重启MySQL,即可使用root用户和上一步设置的root密码登录MySQL。