Ubuntu MySQL 5.7 密码重置

由于Ubuntu 18.04 安装的MySQL-Server默认使用的认证plugin被修改成为auth_socket,按照以往的方法重置密码会导致数据库无法登陆,需要修改认证方式。

若MySQL已经无法正常登陆,需要先使用以下的命令进入免密登陆模式。

sudo service mysql stop   
sudo mkdir -p /var/run/mysqld    
sudo chown mysql:mysql /var/run/mysqld   
sudo mysqld_safe --skip-grant-tables &   

修改root密码以及认证plugin

mysql -u root

use mysql;
UPDATE mysql.user SET authentication_string=PASSWORD('NEW-PASSWORD'), plugin='mysql_native_password' WHERE User='root';    
EXIT;   

重新启动MySQL服务器

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown    
sudo service mysql start