我在使用 mysql 创建程序时遇到了一个问题。我使用“root@localhost”来创建程序。命令执行成功。之后我删除过程 A 并想使用“root@127.0.0.1”创建 A,然后遇到错误:1820 - 您必须在执行此语句之前设置密码。
实际上我已经为此设置了密码,但仍然错误。其他使用“root@127.0.0.1”的程序都成功,没有任何错误。该问题仅在 A 上面临。
据我所知,此错误通常在创建数据库中发现。但是这一次... :(
任何人都可以帮助我吗?非常感谢!!!
就在手册中:
帐户密码过期后,在使用该帐户与服务器的后续连接中执行的所有操作都会导致错误,直到用户发出 SET PASSWORD 语句来建立新的帐户密码:
mysql> SELECT 1; ERROR 1820 (HY000): You must SET PASSWORD before executing this statement mysql> SET PASSWORD = PASSWORD('new_password'); Query OK, 0 rows affected (0.01 sec) mysql> SELECT 1; +---+ | 1 | +---+ | 1 | +---+ 1 row in set (0.00 sec)
最后通过以下语句解决了问题:
++++++++++++++++++++++++++++++++++++++
为 'some_user'@'some_host' 设置密码 = PASSWORD('newpwd');
++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++