我刚刚在我的mac上使用brew重新安装了MySQL。 据我所知,一切正常,但我无法更改我的root密码。
在尝试时,我收到错误消息:
mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
解决这个问题的常用方法似乎是使用(堆栈溢出的几个答案建议使用它):
sudo mysqld_safe --skip-grant-tables
2017-05-19T11:54:35.6NZ mysqld_safe Logging to '/usr/local/var/mysql/mac.err'.
2017-05-19T11:54:35.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
2017-05-19T11:54:35.6NZ mysqld_safe mysqld from pid file /usr/local/var/mysql/mac.pid ended
我在执行命令之前停止了服务器。但是这个解决方案对我不起作用。
错误日志:
中也没有条目/usr/local/var/mysql/mac.err
我还阅读了有关使用mysql_secure_installation
的信息,但我收到的信息与使用mysql -u root
时的信息相同。
正如我上面提到的,我已经尝试过再次卸载并重新安装它,但显然有些数据仍然存在。那么有没有办法手动删除或重置这些文件?
答案 0 :(得分:1)
OP解决方案。
事实证明:
mysql.server start --skip-grant-tables
(不确定是否需要sudo
)
适合我。
答案 1 :(得分:0)
拒绝访问是因为您未指定-p开关 如果您知道旧密码,那么可以登录MySql并将其更改为: 1).login到MySql 2)。更改到正确的数据库3)更改passwd和flush
mysql -u root -p
mysql> use mysql;
mysql> update user set password=PASSWORD("newpass") where User='ENTER-USER-NAME-HERE';
的MySQL>冲洗特权; MySQL的>退出
此外,以下适用于Linux / Unix系统,但我还没有在Mac上测试过(如果安装了客户端,可能会有效)
mysqladmin -u root -p oldpassword newpass
参考:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
//如果你不记得密码,要恢复密码,请查看(底部)。
https://www.howtoforge.com/setting-changing-resetting-mysql-root-passwords
https://coolestguidesontheplanet.com/how-to-change-the-mysql-root-password/