OS Xで実行されているMAMP/MySQLのローカルdevセットアップでroot
ユーザーを誤って削除しました。MySQLに戻るために作成された他のユーザーはいません。
これは軽度の悪夢であり、root
なしでは何もできないようです。
これを見つけました: http://hack2live.blogspot.com/2009/04/restore-repair-reset-mysql-root.html これはまさに私が必要なもののようです。
私の大雑把な検索の多くが成功せずに試みた人々をもたらしたので、私はまた、MAMPの再インストールがトリックを行うとは思わない。
root
@ localhost
をMAMPのMySQLに再作成するOSXフレンドリーな方法を知っている人はいますか?私は基本的に、MySQLがMAMPのどこに住んでいるか、またはターミナルで正しいコマンドを実行してそれを試して修正する方法を知りません。
更新
以下のいくつかのオプションを試して、ルートを無効に復元し、MAMPアプリケーション全体のバックアップを復元することにしました。ルートを取り戻したので、phpmyadminなどを開くことができます。
早くて汚い方法がある
SysAdmin権限を持つユーザーを取得し、次の操作を実行します。
[skip-grant-tables]を[mysqld]セクションの下のmy.cnfに追加します
mysqlを再起動します
パスワードなしでmysqlと入力してEnterキーを押します
これを実行:
DELETE FROM mysql.user
WHERE user = 'root'
AND Host = 'localhost';
INSERT INTO mysql.user
SET user = 'root',
Host = 'localhost',
password = Password('whatevernewpassword'),
Select_priv = 'y',
Insert_priv = 'y',
Update_priv = 'y',
Delete_priv = 'y',
Create_priv = 'y',
Drop_priv = 'y',
Reload_priv = 'y',
Shutdown_priv = 'y',
Process_priv = 'y',
File_priv = 'y',
Grant_priv = 'y',
References_priv = 'y',
Index_priv = 'y',
Alter_priv = 'y',
Show_db_priv = 'y',
Super_priv = 'y',
Create_tmp_table_priv = 'y',
Lock_tables_priv = 'y',
Execute_priv = 'y',
Repl_slave_priv = 'y',
Repl_client_priv = 'y',
Create_view_priv = 'y',
Show_view_priv = 'y',
Create_routine_priv = 'y',
Alter_routine_priv = 'y',
Create_user_priv = 'y',
Event_priv = 'y',
Trigger_priv = 'y',
Create_tablespace_priv = 'y';
mysqlを終了します
[mysqld]セクションのmy.cnfから「skip-grant-tables」を削除します
mysqlを再起動します
これですべてです!
http://hack2live.blogspot.com/2009/04/restore-repair-reset-mysql-root.html の翻訳バージョン-OS Xの場合.
TextEdit.appを開き、[形式]-> [プレーンテキストの作成]を選択します。
以下をカットしてTextEditに貼り付け、[〜#〜] 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(アプリケーション/ユーティリティ)を開き、次のコマンドを入力します。
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変数にディレクトリを入力する必要があります。
私はちょうど同じことを得た-問題。 Windows 7でXammpを使用しています。phpmyadminでrootユーザーを誤って削除しました。
私はこのような簡単なルートで問題を解決できたようです:
XammpコントロールでApacheとmysqlを停止します
.../xammp/mysqlに移動します
ファイル「resetroot」が表示されます。このファイルを実行する
このアプリケーションが終了したら、mysqlとApacheを再起動します
Phpmyadminに移動すると、rootユーザーが復元されます
これで、すべてのデータベースに再びアクセスできるようになりました
マンプを使用して。別のユーザーを作成するときに、rootユーザーを削除するという明らかによくある間違いを犯しました。
だから私はこの投稿を見つけて指示に従おうとしたが...
私はこのエラーを取得していました:-bash:mysql:コマンドmysqlコマンドを実行しようとするとコマンドが見つかりませんでしたが、後でこのエラーを取得しましたrootユーザーに権限を付与し、シェルでmysqlを実行するとそのユーザーで何でもできます。
だから、ericとrolandoが投稿したコマンドを使用する前に(それをありがとう)、これは私がやったことです
Mysqldを適切に起動する必要があるため、以下を実行する必要がありました
ps aux | grep mysql
kill -9 [pid]
/ Applications/MAMP/Library/bin/mysqld --skip-grant-tables --skip-networking&
My.cnfファイルで試しましたが、動作しませんでした。
/ Applications/MAMP/Library/bin/mysql -u root -p
(パスワードの入力を求められたら、Enterキーを押します)
その後、ericコマンドとrolandoコマンドを実行しますが、今回はエラーが発生しませんでした
次に、mysqldサービスを停止します。
/ Applications/MAMP/Library/bin/mysqld stop
その後、GUIを使用して通常どおりにMampを再起動しました
そして以前と同じようにすべてが再び働き始めました...私はとても安心しました!!!
コンソールでの2時間のパニックと試行錯誤...学んだ貴重な教訓..
コマンドまたは説明のいずれかを台無しにした場合(これは、この投稿を書いているときに手順をたどっていたときに起こる可能性があります)お知らせください。投稿を更新させていただきます。
最後に与えないでください。できます!!
私は昨日まったく同じことをしました。MacとSQLサーバーは初めてです。新しいユーザーとパスワードを設定しようとしたときに、権限で間違ったボタンを押したため、誤ってルートユーザーを削除しました。
私はこのコンピューターで使用する仕事がなかったので、私のウェブサイトを削除することを心配しませんでした。
MAMPが起動すると、スタートアップページのリンクからphpMyAdminにアクセスできるようになりました。
私はこれをどのように解決したか貢献したかっただけです。 MAMP PROで誤ってrootユーザーを削除し、Time MachineバックアップでOSXを使用している場合。 Finderでこのフォルダーに移動するだけです。
/ライブラリ/ Application Support/appsolute /
次に、トップメニューバーから「タイムマシンを入力」し、MAMP PROフォルダーの最近のバックアップを復元します。私のために多くの面倒を保存しました。
CentOS 6で私のために働いた。Create_tablespace_priv= 'y'を削除する必要があった。
OK、MySQLの実行を停止し、付属のインストールファイルを開きます。 resetroot.batという名前のbatファイルが必要です。それを実行すると、問題はなくなります。
MySQL 5.7では、パスワードフィールドがauthentication_string(mysql.userテーブル内)に置き換えられました。だからこれは私のために働いた。
INSERT INTO mysql.user
SET user = 'root',
Host = 'localhost',
authentication_string =Password('Yours_own_password'),
Select_priv = 'y',
Insert_priv = 'y',
Update_priv = 'y',
Delete_priv = 'y',
Create_priv = 'y',
Drop_priv = 'y',
Reload_priv = 'y',
Shutdown_priv = 'y',
Process_priv = 'y',
File_priv = 'y',
Grant_priv = 'y',
References_priv = 'y',
Index_priv = 'y',
Alter_priv = 'y',
Show_db_priv = 'y',
Super_priv = 'y',
Create_tmp_table_priv = 'y',
Lock_tables_priv = 'y',
Execute_priv = 'y',
Repl_slave_priv = 'y',
Repl_client_priv = 'y',
Create_view_priv = 'y',
Show_view_priv = 'y',
Create_routine_priv = 'y',
Alter_routine_priv = 'y',
Create_user_priv = 'y',
Event_priv = 'y',
Trigger_priv = 'y',
Create_tablespace_priv = 'y',
ssl_cipher = '',
x509_issuer = '',
x509_subject = '';