的http://hack2live.blogspot.com/2009/04/restore-repair-reset-mysql-root.html的翻譯版本 - 和OS X.
打開TextEdit.app在格式選擇 - > 「製作純文本」。
剪切並粘貼以下到文本編輯並保存到您的HOME文件夾名稱restore_root_privileges.sql
update mysql.user set Super_priv='y' where user='root';
update mysql.user set Select_priv='y' where user='root';
update mysql.user set Insert_priv='y' where user='root';
update mysql.user set Update_priv='y' where user='root';
update mysql.user set Delete_priv='y' where user='root';
update mysql.user set Create_priv='y' where user='root';
update mysql.user set Drop_priv='y' where user='root';
update mysql.user set Reload_priv='y' where user='root';
update mysql.user set Shutdown_priv='y' where user='root';
update mysql.user set Process_priv='y' where user='root';
update mysql.user set File_priv='y' where user='root';
update mysql.user set Grant_priv='y' where user='root';
update mysql.user set References_priv='y' where user='root';
update mysql.user set Index_priv='y' where user='root';
update mysql.user set Alter_priv='y' where user='root';
update mysql.user set Show_db_priv='y' where user='root';
update mysql.user set Super_priv='y' where user='root';
update mysql.user set Create_tmp_table_priv='y' where user='root';
update mysql.user set Lock_tables_priv='y' where user='root';
update mysql.user set Execute_priv='y' where user='root';
update mysql.user set Repl_slave_priv='y' where user='root';
update mysql.user set Repl_client_priv='y' where user='root';
update mysql.user set Create_view_priv='y' where user='root';
update mysql.user set Show_view_priv='y' where user='root';
update mysql.user set Create_routine_priv='y' where user='root';
update mysql.user set Alter_routine_priv='y' where user='root';
update mysql.user set Create_user_priv='y' where user='root';
保存並退出TextEdit.app。
停止你的mysqld服務器。 如何做到這一點,取決於你使用MySQL的安裝。 您的系統偏好設置中可能有PreferencePane。如果沒有,你必須參考你的MySQL安裝文檔。
打開Terminal.app(Applications/Utilities中) 輸入以下命令:
sudo mysqld --skip-grant-tables & #start your MySQL server without access control
mysql -vv < ~/restore_root_privileges.sql
sudo mysqladmin -p shutdown
爲通常啓動MySQL服務器,例如來自PreferencePanes。
在Terminal.app:輸入以下命令:
mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
mysql> quit;
這就是全部。 沒有任何保證。如果做錯了,你可以放棄所有的數據。 先備份你的mysql文件。
如果你有這樣的:
-bash: mysql: command not found
這就是意味着,比你的安裝不正確,你會發現這裏是你的mysql二進制文件,並需要進入目錄到你的PATH變量。
對於任何使用MAMP的人。在MAMP/conf /'中創建你自己的'my.cnf',並在其中放入'[mysqld] skip-grant-tables'。 – Thumbz 2013-05-30 01:17:21
這是爲我工作的那個。如果你根本沒有root用戶,你必須創建一個,許多指令似乎忽略了這一點。感謝Rolando! – ftrotter 2013-09-16 17:13:33
謝謝,這讓我擺脫了困境。我使用的是Windows Server 2008 FWIW。 – 2014-03-21 17:18:47