Ubuntu 18.04版本中安装Mysql后,Mysql每次访问需要加sudo的问题

在Ubuntu18.04上安装MySQL后,发现在普通用户shell下无法使用root用户名登录MySQL,mysql -uroot -pmysql,提示权限问题,命令必须改为,sudo mysql -uroot -pmysql,这样就比较麻烦,特别是用程序链接数据库,就没法链接成功。

后来看了一下mysql的数据库

Ubuntu 18.04版本中安装Mysql后,Mysql每次访问需要加sudo的问题

Ubuntu 18.04版本中安装Mysql后,Mysql每次访问需要加sudo的问题

发现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;
Ubuntu 18.04版本中安装Mysql后,Mysql每次访问需要加sudo的问题
退出后,切换到普通用户shell并重启MySQL,即可使用root用户和上一步设置的root密码登录MySQL。
Ubuntu 18.04版本中安装Mysql后,Mysql每次访问需要加sudo的问题