系統默認的MySQL用戶名消失的解決方法

  修改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);