Ubuntu 18.04 Mysql每次访问需要加sudo的问题

1.修改root用户

mysql> use mysql;
mysql> select User,Host,plugin from user;

查看root用户权限,是否是mysql_native_password,如果不是,则将auth_sock改为mysql_native_password

mysql> update user set plugin='mysql_native_password' where user='root'; 

或者习性下面语句,这样就不需要执行第二步的内容了

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

2.修改或者设置root用户密码

首先用debian-sys-maint登录,密码在/etc/mysql/debian.cnf文件

mysql> mysql -u debian-sys-maint -p

然后修改root密码(密码可与之前的一样):

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

然后,quit;退出。

经过这两步之后便可以使用 mysql -u root -p登录 Mysql, 不需要带上sudo.

参考

Ubuntu 18.04 Mysql每次访问需要加sudo的问题