Mac系统下修改MySQL的密码
以下操作均是在终端进行的操作,不需要人机交互软件MySQL Workbench
一般在终端输入命令:$ mysql -u root -p (其中root应该是你Mysql的name,没有后期修改的话,默认是root。)出现如下图所示的错误:
$ mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
或者出现:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
解决方法主要分为以下几步:
1. 关闭mysql
通过系统偏好设置关闭正在运行的Mysql,如果没有运行这一步可以跳过。
也可以利用终端命令进行关闭
$ /usr/local/mysql/bin/mysqladmin -u root -p shutdown
2.启用mysql的安全模式
首先cd 到mysql的bin目录下在终端执行以下命令:
$ cd /usr/local/mysql/bin
$ sudo su
接着输入你的管理员密码,然后你就能看到如下的界面:
之后我们输入下面的命令实现安全模式运行mysql
sh-3.2#./mysqld_safe --skip-grant-tables &
运行结束后Mysql会被重启,可以在系统偏好设置里看到mysql确实被启动了
3.打开一个新的终端
输入:mysql -u -root
这时不需要密码就能进入mysql弹出页面如下:
4.修改mysql密码
首先执行:mysql> FLUSH PRIVILEGES;
然后执行:mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('新密码');
最后刷新:mysql>FLUSH PRIVILEGES;
5. 关闭安全模式
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
退出数据库编辑模式的命令是:control+D
正常启动mysql 这是利用mysql -u root -p 进行登录,输入你刚才设置的密码即可登录。