ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题(装) ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题

 https://blog.csdn.net/NeptuneClouds/article/details/80995759

MySQL Server 5.7的安装:

sudo apt install mysql-server mysql-client

在安装过程中,它会要求你设置 mysql 服务器 root 帐户的密码。ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题(装)
ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题

确认 root 帐户的密码

ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题(装)
ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题

ps:我在安装时没有出现上述两个窗口

我安装时只有

ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题(装)
ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题

直接安装成功没有弹出任何窗口

所以

mysql -u root -p

空格

ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题(装)
ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题

报错了

这时需要

sudo vim /etc/mysql/debian.cnf

在这个文件里面有着MySQL默认的用户名和用户密码, 
最最重要的是:用户名默认的不是root,而是debian-sys-maint

ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题(装)
ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题

密码太复杂

mysql -u debian-sys-maint -p

 

然后终端会提示你输入密码

Enter password: 与账号对应的密码如果显示:如果显示:

成功进入MySQL

版本是5.7,password字段已经被删除,取而代之的是authentication_string字段,我的是5.7,所以要更改密码:

 update mysql.user set authentication_string=password('password') where user='root'and Host = 'localhost';

如果提示:

  1.  
    Query OK, 1 row affected, 1 warning (0.00 sec)
  2.  
    Rows matched: 1 Changed: 1 Warnings: 1

则证明修改成功

然后重启:

service mysql restart

输入:

mysql -u root -p

提示

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

这时应该输入:

sudo mysql -u root -p

可以进入MySQL

SELECT User, Host, plugin FROM mysql.user;

ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题(装)
ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题

看见root用的是‘auth_socket’plugin

  1.  
    USE mysql;
  2.  
    UPDATE user SET plugin='mysql_native_password' WHERE User='root';
  3.  
    FLUSH PRIVILEGES;
  4.  
    exit;

这样就可以使用:

mysql -u root -p

这只是我遇见的问题,与我问题相似的可以尝试一下