晚上打开MAC,发现root帐户突然不能正常登陆MySQL,于是打算重置密码,看了几篇文章,竟然重置不成功,总是得到Unknown column ‘password’
的错误,看了user的表结构也确实没有该字段了。经查发现是MySQL升级后将字段名给改了,password
名称改为authentication_string
了。知道原因后,按照如下命令就可以成功重置root密码了。
$sudo mysql.server stop #先关闭正常的MySQL服务
$sudo mysqld_safe --skip-grant-tables #跳过MySQL认证
$sudo mysql -uroot -p #提示密码时,直按按ENTER就能进入mysql命令行
mysql>use mysql;
mysql>update user set authentication_string=password(’newpassword') where user=‘root’;
mysql>exit;
$sudo mysql.server start #再次启动MySQL服务,就可以使用新密码正常登陆了
Mac的MySQL版本是:
mysql Ver 14.14 Distrib 5.7.10, for osx10.11 (x86_64) using EditLine wrapper