我刚刚擦除了我的Mac,并重新安装了El Capitan。我现在正在努力连接到Mysql。在完成web服务器设置过程之后,我创建了一个简单的PHP测试文件:
<?php
$conn = new mysqli("127.0.0.1", "root", "xxxxxxxx");
if ($conn->connect_error) echo "Connection failed: " . $conn->connect_error;
else echo "Connected successfully";
phpinfo();
?>
当我运行它时,我得到这个错误:
Warning: mysqli::mysqli(): (HY000/1862): Your password has expired. To log in you must change it using a client that supports expired passwords. in /Users/rich/Documents/DESIGN/test/index.php on line 3
Connection failed: Your password has expired. To log in you must change it using a client that supports expired passwords.
我以前从未见过来自连接的响应。如果我无法连接,该如何修复?
编辑
在终端中,我输入了命令:
mysql -u root -p
这要求我输入我的密码(当前密码)。我现在可以访问mysql命令,但我尝试的任何操作都会导致以下错误:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
如何使用ALTER USER
重置密码
发布于 2015-10-28 18:37:12
所以我最终自己找到了解决方案。
首先,我进入终端并输入:
mysql -u root -p
这会询问我当前的密码,我输入了密码,它给了我提供更多mysql命令的权限。我在这里尝试的任何东西都显示以下错误:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
这很令人困惑,因为我实际上看不到使用ALTER USER
语句重置密码的方法,但我找到了另一个简单的解决方案:
SET PASSWORD = PASSWORD('xxxxxxxx');
发布于 2016-07-19 10:51:14
首先,我使用:
mysql -u root -p
为“root”提供我当前的密码。接下来:
mysql> ALTER USER `root`@`localhost` IDENTIFIED BY 'new_password',
`root`@`localhost` PASSWORD EXPIRE NEVER;
将'new_password'
更改为用户“root”的新密码。
它解决了我的问题。
发布于 2016-04-25 10:38:08
在OS Capitan和MySQL 5.7.12社区服务器上,mysqladmin -u [username] -p password
为我工作。示例:
$ /usr/local/mysql/bin/mysqladmin -u root -p password
Enter password:
New password:
Confirm new password:
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
这与pavan sachi的答案类似,但带有密码提示。
我的错误是"#1862 -您的密码已过期。要登录,您必须使用支持过期密码的客户端进行更改。“第一次出现在phpMyAdmin登录屏幕。
https://stackoverflow.com/questions/33387879
复制相似问题