修改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;
本文轉自guoli0813 51CTO部落格,原文連結:http://blog.51cto.com/guoli0813/376745,如需轉載請自行聯系原作者