MySQL 5.7.20无法设置root密码

时间:2017-11-03 15:31:12

标签: mysql

我在ubuntu 14.04上安装了MySQL Server 5.7.20,我可以使用以下命令登录服务器:

mysql -u root -p

密码为空...如何在安装mysql服务器之前在终端设置mysql root密码?

我使用静默安装安装它并尝试从终端运行这个mysql查询:

SET PASSWORD FOR 'root'@'localhost' = 'mypasswordhere';

但是我得到了这个:

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> SHOW warnings;
+-------+------+------------------------------------------------------------------------------------------------------------+
| Level | Code | Message                                                                                                    |
+-------+------+------------------------------------------------------------------------------------------------------------+
| Note  | 1699 | SET PASSWORD has no significance for user 'root'@'localhost' as authentication plugin does not support it. |
+-------+------+------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

那么我做错了什么?我只是想从用户root的空密码更改为mypasswordhere密码...需要怎么做?

2 个答案:

答案 0 :(得分:16)

尝试

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypasswordhere';

来自https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/

  

如果安装5.7并且没有为root用户提供密码,它将使用auth_socket插件。该插件不关心,也不需要密码。它只检查用户是否使用UNIX套接字进行连接,然后比较用户名。   如果我们要配置密码,我们需要在同一命令中同时更改插件并设置密码。

答案 1 :(得分:2)

在Ubuntu上安装Mysql之后,类似的应该运行mysql_secure_installation命令。

它清除了一些可能的问题,其中一个问题是它要求新的root密码。

但@Valuator之前的回答会更改密码。