Mysql User表为空
Mysql5.6刚安装完成,未设置过密码,root账号登录提示:
root@localhost mysql]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@localhost mysql]# mysql -uroot -p
Enter password:
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)
第一步,先使用跳过受权表访问,命令如下:mysqld_safe --user=mysql --skip-grant-tables --skip-networking & (当然,在这之前,先停止mysql服务的运行)。
第二步,mysql -uroot mysql 登录mysql。
第三步,访问mysql数据库下的user表。在我的机器上,mysql> select * from user; 得到的,竟然是
Empty set (0.00 sec)。这说明了,我的mysql没有任何可以访问的用户。知道了这问题所在,解决起来就简单了。
第四步,mysql> INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'root', PASSWORD(‘fuck'), 'Y', 'Y','Y');
Query OK, 1 row affected, 3 warnings (0.00 sec)
第五步,测试,再重启下mysql服务,正常登录,成功!!!
网上大多数方法都是更新user表,
UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
flush privileges;
exit;
----user表都为空,如何update。。。。。。