参考文章:Ubuntu 18.04版本中安装Mysql后,Mysql每次访问需要加sudo的问题
Ubuntu下安装mysql后root无法登陆也无法修改密码的问题解决
本文Mysql 版本5.7.26-0ubuntu0.18.04.1
Step 1:修改root用户
查看用户的权限,是否是mysql_native_password,如果不是,则将auth_sock改为mysql_native_password。
update user set plugin = 'mysql_native_password' where user = 'root';
或者执行下面语句,这样就不需要执行Step2的内容啦!
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
然后
flush privilege;
退出mysql。
Step2 修改或者设置root用户密码
退出后使用 mysql -u root -p 发现登录不了Mysql, 报的错为:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
参考第二篇文章后得到了解决。
首先用debian-sys-maint登录,密码在/etc/mysql/debian.cnf文件
mysql -u debian-sys-maint -p
然后修改root密码(密码可与之前的一样):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
然后,quit;退出。
经过这两步之后便可以使用 mysql -u root -p登录 Mysql, 不需要带上sudo.