【发布时间】:2017-03-07 13:42:38
【问题描述】:
我按照https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/ 的说明进行操作。 在安全模式下,我打开一个新的终端窗口,输入
mysql -u root
Welcome to the MySQL monitor. Commands end with; or \ g.
Your MySQL connection id is 7
Server version: July 5, 17 MySQL Community Server (GPL)
还有一步
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'MyNewPass';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root' @ 'localhost'
密码无法更改。可以请教吗?
【问题讨论】:
-
尝试运行
UPDATE mysql.user SET Password=PASSWORD('new-password') WHERE User='root' AND Host='localhost';,然后运行FLUSH PRIVILEGES; -
你试过了吗?
-
嗨,是的错误:
mysql> UPDATE mysql.user SET Password=PASSWORD('new-password') WHERE User='root' AND Host='localhost';ENTER ->ERROR 1054 (42S22): Unknown column 'Password' in 'field list'如何使用 FLUSH PRIVILEGES ?`mysql> FLUSH PRIVILEGES` -
您好,显然
Password字段在 5.7 中已重命名为authentication_string,所以请尝试:UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root' AND Host='localhost'; FLUSH PRIVILEGES; -
我现在看到您可以尝试将原始查询修改为
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';。注意'root'和@之间没有空格。