重置MySQL root 密码:
当忘记密码,或者想要强行重置 MySQL 密码的时候,能够像下面这样:mysql
1.中止 MySQL 服务sql
sudo /usr/local/mysql/support-files/mysql.server stop
//当中止失败 见下边 如何用mac 活动指示器中止服务。
2.进入安全模式
sudo mysqld_safe --skip-grant-tables数据库
这个地方,若是你 alias 了 mysqlld_safe 这个命令,那么能够直接复制粘贴;若是没有,则须要加上正确的路径。在 Linux/OS X 系统下,默认路径是 /usr/local/mysql/bin/mysqld/usafe。安全
说是安全模式,实际上是超级危险模式!若是你是在本地修改,那没问题;若是是在服务器上,那你得保证这个时候没有任何人登陆到系统。由于一旦进入了安全模式,任何人均可以使用任何密码经过 root 用户登陆入到 MySQL ,能够执行任何想执行的操做。服务器
这也是为何,当咱们密码忘记了的时候,咱们能够这样来修改密码。凡事有利有弊,你能够用这种方式来作好事;而一样,能够用来作坏事。工具
3.新打开一个终端,进入 MySQLserver
mysql -u root -p
进程
这里也和 mysqld_safe 同样。若是你是 OS X 上新装的 MySQL ,那么颇有可能并不能直接使用 mysql 这个命令。而是要使用它的绝对路径: /usr/local/mysql/bin/mysql -u root -p图片
而后输入任意密码就能够进入 MySQL 了。ip
4.修改密码
进入了以后先不要急着使用 update 命令修改密码,先看看表中的字段名。不一样版本密码的字段名可能不同。
MySQL 的用户信息是存在 mysql.user 这个表里面的。因而能够先选择 mysql 这个数据库,再看数据库中 user 表中的字段名称。
use mysql; //切换数据库
describe user; //查看user表的字段
而后肯定密码字段的名称,通常多是 Password。然而在 OS X 的 MySQL 5.7 这个版本中,密码字段名称是 authentication_string 。记住这个字段名。
而后修改密码啊:UPDATE mysql.user SET authentication_string=PASSWORD(‘123456’) where User=’root’; //将root用户密码改为 123456
5.刷新权限,使配置生效
flush privileges;
最后再启动 MySQL
sudo /usr/local/mysql/support-files/mysql.server start
当启动失败的话,能够直接用mac工具活动监视器:
搜索mysql 进程名称列表有mysql的话,直接双击出现:这里写图片描述
点击退出便可。
修改完以后记得刷新权限 和从新启动mysql服务才行。