Ubuntu 18.04中安装MySQL以及普通用户无法登录问题

在ubuntu 18.04下安装/升级MySQL数据库并解决安装后普通用户无法登录MySQL,必须使用sudo才能够登录的问题。

安装

删除旧版本

1
sudo apt --purge remove mysql-server mysql-common mysql-client

安装新版本

1
sudo apt install mysql-server mysql-common mysql-client

这时候登录mysql

1
mysql -u root -p

输入密码后无法登录,出现Error,但是

1
sudo mysql -u root -p

却能够正常登录的话,那么就按照下面的步骤修改root密码

修改root密码

1
2
3
sudo mysql -u root
mysql> use mysql;
mysql> select User, plugin from user;

发现root用户的plugin不太一样,重建一个root

1
2
3
4
mysql> drop user 'root'@'localhost';
Query OK, 0 rows affected (0,00 sec)
mysql> create user 'root'@'localhost' identified by 'new_password'
Query OK, 0 rows affected (0,00 sec)

刷新权限

1
2
3
4
mysql> grant all privileges on *.* to 'root'@'localhost' with grant option;
Query OK, 0 rows affected (0,00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0,00 sec)

再次输入命令

1
mysql -u root -p

应该就可以正常登录了