我已经设置了root密码,但无法对其进行身份验证。如何重置该密码?
~ mysql --version: mysql Ver 8.0.13 for osx10.14 on x86_64 (Homebrew)
我使用these stackoverflow instructions设置了root密码,并查询用户表以验证密码。
然后,我尝试了mysql -u root -p
和mysql -u root
并收到身份验证错误。
命令:mysql -u root -p
验证错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
。我确定我使用了正确的密码。
命令:mysql -u root
验证错误:Error: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
。
这使我想到了this stackoverflow question,并尝试了@Lahiru的解决方案,但得到了No such file or directory
。
我找到了Mysql文档并执行了以下操作:(如B.6.3.2.3 Resetting Root Password: Generic Instructions中所述)
mysql.server start --skip-grant-tables
Mysql -u root
FLUSH PRIVILEGES
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
然后我得到一个错误:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
最后,我尝试使用Mysql 8.0 documentation: 13.7.1.10 SET PASSWORD Syntax:
mysql.server start --skip-grant-tables
SET PASSWORD FOR 'root'@'localhost' = '1111';
并得到错误:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
以非安全模式运行服务器时,我无法尝试执行此操作,因为它不接受我设置的密码。
在此先感谢您的帮助。