您的位置:首页 > 数据库 > MySQL

系统默认的MySQL用户名消失的解决方法(修正版)

2010-08-17 00:30 661 查看
修改MySQL下的默认mysql数据库的user表,删除所有host为localhost记录,另 外添加一些其他记录,重新启动MySQL服务器。执行show databases,只出现information_schema和test两个数据库,看不到mysql。

解决方法:

此问题实际上是用户没有权限:

1. 关闭mysql

2. 启动mysql: mysqld_safe --skip-grant-tables

在数据库名mysql下的user表中,修改相应权限,比如:

INSERT INTO `user` VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);

我说一下我的问题,我是把host为localhost直接给update成%,密码为zhenglang0813,这下就造成只能从别的机器上登录了,本机不能登录,我只能在别的机器上登录后执行如下命令,才使得本地登录成功,记住一点*需要转义。

insert into user values

('localhost','root','\*E8013AD6199C4BE6DB5ACC99A81E402D0BB87CDB','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0','0')

操作完成记得flush privileges;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐