解决方法:
第一步:如果mysql服务正在进行,将之停止。
第二步:在终端中以管理员权限启动mysqld_safe,命令如下:
sudo/usr/local/mysql/bin/mysqld_safe--skip-grant-tables
执行结果如下:
mysqld_safe Logging to'/usr/local/mysql/data/lyqdeMacBook-Pro.local.err'.2016-06-12T08:29:17.6NZ mysqld_safe Starting mysqld daemon with databasesfrom/usr/local/mysql/data
第三步:不要关闭当前的终端窗口,新建一个终端窗口,输入如下命令,回车登录mysql
/usr/local/mysql/bin/mysql
登录后,看到欢迎信息:
看到结果:
Reading table informationforcompletion of table and column names
You can turn offthisfeature togeta quicker startup with -A
Database changed
mysql>
然后,更新root的密码,SQL如下:
mysql> update usersetauthentication_string=password('root')whereHost='localhost'and User='root';
注意:
①有的版本的mysql中,密码可能存储在password字段中,可以使用"describe user;"命令来查看下表结构再操作
②authentication_string的值一定通过password函数来计算(password('root'))
执行结果如下:
Query OK,1row affected,1warning (0.01sec)
Rows matched:1Changed:1Warnings:1
退出mysql(执行sql语句:exit)
最后一步:将mysqld_safe进程杀死,重启mysqld。