web-dev-qa-db-ja.com

MySQL 5.6でのROOTパスワードのリセット

私は これらの手順 をリセットしていますrootWindows 7ラップトップへのMySQL 5.6のローカルインストールのパスワード。

サービスを停止し、init-fileを作成し、次のコマンドを(管理者として)実行しました。

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --init-file=C:\\MySQL-misc\\mysql-init.txt

私は次のwarningを得ました:

2014-02-08 15:44:10 0 [警告]暗黙的なDEFAULT値を持つTIMESTAMPは非推奨です。 --explicit_defaults_for_timestampサーバーオプションを使用してください(詳細についてはドキュメントを参照)。

警告なので、何かを修正してからプロセスをやり直す必要があるかどうかはわかりません。

現在、コマンドウィンドウはまだオンであり、入力を受け付けません。強制終了する必要がありますか、またはプロセスを正常に完了するためにできることはありますか?

[〜#〜] update [〜#〜]

コマンドウィンドウを強制終了し、サービスを再起動しようとしました。エラーが発生しました。

Windowsを再起動し、サービスが自動的に開始されました。 newroot passwordは機能しているようです。パスワードを必要とするWorkbenchのさまざまな機能を正常に使用できました。

したがって、警告は実際には単なる警告でした。

18
PM 77-1

問題はで解決されました

私の質問で述べたように、私は MySQLマニュアルからの指示 に従いました。

プロセスは説明されたようにexactly行きませんでした(これが私の元の投稿の理由でした)が、それでも動作しました([〜#〜] update [〜#〜]を参照) 私の投稿のセクション)。

4
PM 77-1

Windows

0)サービスmysql56をシャットダウンします

1)C:\ProgramData\MySQL\MySQL Server 5.6に移動します。ProgramDataは隠しフォルダーです

2)ファイルmy.iniを探して開き、skip-grant-tablesの下に[mysqld]を1行追加し、保存します

[mysqld]

skip-grant-tables

3)サービスmysql56を開始します

4)正しく、データベースにアクセスして、mysqlを実行できます

5)以下のクエリを使用してパスワードを更新します

update mysql.user set password=PASSWORD('NEW PASSWORD') where user='root';

:新しいバージョンでは、passwordの代わりにauthentication_stringを使用します

6)サービスを再度シャットダウンし、skip-grant-tables行を削除して保存し、サービスを再度開始します。ログインに設定したパスワードを使用してみてください。


Macの場合

0)サービスを停止します

Sudo /usr/local/mysql/support-files/mysql.server stop

1)付与テーブルをスキップ

Sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

一度実行したら、閉じないで、新しいターミナルウィンドウを開きます。

2)mysqlターミナルに移動します

/usr/local/mysql/bin/mysql -u root

3)パスワードを更新する

UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

5.7などの新しいバージョンの場合は、

UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';

4)FLUSH PRIVILEGES;を実行します

5)\qを実行して終了します

6)mysqlサーバーを起動します

Sudo /usr/local/mysql/support-files/mysql.server start
55
Timeless
  • [管理ツール]> [サービス]に移動して、Mysqlサービスを停止します
  • スタート>ファイル名を指定して実行> cmdを開きます(管理者として実行
  • 次の行を使用して、サーバーを手動で起動します。

    mysqld -P3306 --skip-grant-tables
    
  • 新しいcmd(管理者として実行)実行:

    mysql -P3306 mysql
    
  • Mysqlクライアントで次のクエリを実行します。

    update mysql.user set authentication_string=password('new_password') where user='root';
    

それでおしまい!!

5

MySQL 5.7での変更に関する この回答 の更新:

0)サービスをシャットダウン_mysql57_

1)_C:\ProgramData\MySQL\MySQL Server 5.7_に移動します。ProgramDataは隠しフォルダーです

2)ファイル_my.ini_を探して開き、_skip-grant-tables_、saveの下に_[mysqld]_を1行追加します

_[mysqld]

skip-grant-tables
_

3)サービス_mysql57_を開始します

4)正しく、データベースにアクセスしてmysqlを実行できます

5)以下のクエリを使用してパスワードを更新します

update mysql.user set authentication_string=password('NEW_PASSWORD') where user='root';

6)サービスを再度シャットダウンし、_skip-grant-tables_行を削除して保存し、サービスを再度開始します。ログインに設定したパスワードを使用してみてください。

2
Polyakoff

最初にmysqlサーバーを停止し、以下の手順に従います。

Cmd i、eのmysql binディレクトリに移動します。 _cd C:\ProgramData\MySQL\MySQL Server 5.6\bin_(隠しディレクトリです)

グラントテーブルをスキップすると、mysqlに入ることができます

  • _mysqld.exe --skip-grant-tables_

新しいコマンドプロンプトを開く、または同じコマンドプロンプトで

  • _mysql.exe -uroot -p_(パスワードなしでmysqlにログインできます)

以下のクエリを実行してmysqlルートパスワードを変更します

  • UPDATE mysql.user set password=password('root password') WHERE user='root';
  • _flush privileges_

それで、mysqlを再起動し、新しいパスワードを入力してください。

0
Mohamed Ayas

Mi.iniを編集せずに:

service mysql stop
mysqld_safe --skip-grant-tables

別のsshセッションで:

update mysql.user set password=PASSWORD('NEW PASSWORD') where user='root';

特権をフラッシュする必要はなく、サーバーを再起動するだけです

0
Cris

Xamppがインストールされている場合。

  1. C:\ xampp\mysql\binに移動します
  2. My.iniファイルを開きます
  3. _skip-grant-tables_を_[mysqld]_の下に配置します
  4. Windowsサービスに移動してmysqlサービスを停止する
  5. コマンドプロンプト_C:\xampp\mysql\bin\mysql_からこのコマンドをトリガーします
  6. 次に、MySQLクエリupdate mysql.user set password=PASSWORD('root') where user='root';を使用してルートパスワードをリセットします
  7. コマンドプロンプトを終了します。
  8. 手順4でオフにしたmysql Windowsサービスを再起動します。
  9. これで、パスワードをルートとして使用してmysqlにログインできるようになります。
0
webDev

Windows上のMySQL 5.6では、このステートメントを実行して機能させる必要がありました。

UPDATE mysql.user
SET Password=PASSWORD('NEW PASSWORD'), 
authentication_String=PASSWORD('NEW PASSWORD')
WHERE User='root';
0
Mohan