我在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密码...需要怎么做?
答案 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之前的回答会更改密码。