由于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