【发布时间】:2015-10-28 09:56:15
【问题描述】:
我刚刚擦除了我的 Mac 并重新安装了 El Capitan。我现在正在努力连接到 Mysql。完成网络服务器设置过程后,我创建了一个简单的 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重置密码?
【问题讨论】:
-
这真的很烦人,整个服务可以因此而关闭
-
尝试运行
/usr/local/mysql/bin/mysqladmin -u root -p password -
@ConnorLeech 花了几个小时试图重置自制软件的 MariaDB 过期的 root 密码,但这为我解决了问题 - 谢谢!
标签: php mysql macos osx-elcapitan