回答:
MySQLプロセスを停止します。
--skip-grant-tablesオプションを使用してMySQLプロセスを開始します。
MySQLコンソールクライアントを-u rootオプションで起動します。
すべてのユーザーをリストします。
SELECT * FROM mysql.user;
パスワードを再設定する;
UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';
しかし、忘れないでくださいに
MySQLプロセスを停止します
MySQLプロセスを通常どおりに開始します(つまり、-skip-grant-tablesオプションなしで)。
あなたが終わったとき。そうしないと、データベースのセキュリティが危険にさらされる可能性があります。
dpkg-reconfigure mysql-server-5.5コマンドを使用してルートMySQLパスワードをリセットすることの意味は何ですか?
-uサーバーをで起動した場合は無視されるため、これを行う意味はまったくありません--skip-grant-tables。
mysql.user呼び出されたpasswordに列がありませんauthentication_string。代わりに使用してください。
残念ながら、ユーザーパスワードは回復できません。一方向ハッシュでハッシュされているので、わからない場合は元に戻せません。上記のXenph Yanを使用して、新しいものを作成することをお勧めします。
マニュアルにある次の手順を使用して、Windows上のMySQL ルートアカウントのパスワードをリセットすることもできます。
スタートメニュー->コントロールパネル->管理ツール->サービス
次に、リストからMySQLサービスを見つけて停止します。サーバーがサービスとして実行されていない場合は、タスクマネージャーを使用してサーバーを強制的に停止する必要がある場合があります。
テキストファイルを作成し、その中に次のステートメントを配置します。パスワードを使用するパスワードに置き換えます。
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;
UPDATEとFLUSH文それぞれが単一の行に記述する必要があります。UPDATEのステートメントは、すべての既存のルートアカウントのパスワードをリセットし、FLUSHの文は、メモリに権限テーブルをリロードするようにサーバに指示します。
コンソールウィンドウを開いてコマンドプロンプトを表示します。
スタートメニュー->実行-> cmd
特別な--init-fileオプションを使用してMySQLサーバーを起動します。
C:\> C:\mysql\bin\mysqld-nt --init-file = C:\mysql-init.txt
MySQLをC:\ mysql以外の場所にインストールした場合は、それに応じてコマンドを調整します。
サーバーは、起動時に--init-fileオプションで指定されたファイルの内容を実行し、各rootアカウントのパスワードを変更します。
サーバーの出力をログファイルではなくコンソールウィンドウに表示する場合は、コマンドに--consoleオプションを追加することもできます。
MySQLインストールウィザードを使用してMySQLをインストールした場合は、-defaults-fileオプションを指定する必要がある場合があります。
C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt
サービスマネージャを使用して、適切な--defaults-file設定を見つけることができます。
スタートメニュー->コントロールパネル->管理ツール->サービス
リストからMySQLサービスを見つけて右クリックし、[プロパティ]オプションを選択します。[実行ファイルへのパス]フィールドには、-defaults-file設定が含まれています。
これで、新しいパスワードを使用してrootとしてMySQLに接続できるはずです。
mysqld-nt代わりにmysqld?
ここで最も有用な答えの改善:
1] mysqlサーバーを再起動する必要はありません
2]ネットワークに接続されたMySQLサーバーのセキュリティ上の懸念
MySQLサーバーを再起動する必要はありません。
FLUSH PRIVILEGES;パスワードを変更するには、mysql.userステートメントの更新後に使用します。
FLUSHステートメントは、サーバーに許可テーブルをメモリに再読み込みして、パスワードの変更を通知するように指示します。
を--skip-grant-options使用すると、誰もがパスワードなしですべての権限を使用して接続できます。これは安全ではないので、
--skip-grant-tablesを--skip-networkingと組み合わせて使用して、リモートクライアントが接続しないようにします。
from:リファレンス:resetting-permissions-generic
mysql.userか?しかし、多くの場合、そうではありません。
ブルートフォースなしでMySQLパスワードを直接回復することはできませんが、別の方法がある可能性があります。データベースに接続するためにMySQL Workbenchを使用していて、資格情報を「ボールト」に保存している場合、あなたは黄金です。
Windowsでは、認証情報は%APPDATA%\ MySQL \ Workbench \ workbench_user_data.datに保存されます-CryptProtectDataで暗号化されます(追加のエントロピーはありません)。復号化は簡単です:
std::vector<unsigned char> decrypt(BYTE *input, size_t length) {
DATA_BLOB inblob { length, input };
DATA_BLOB outblob;
if (!CryptUnprotectData(&inblob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &outblob)) {
throw std::runtime_error("Couldn't decrypt");
}
std::vector<unsigned char> output(length);
memcpy(&output[0], outblob.pbData, outblob.cbData);
return output;
}
または、このDonationCoderスレッドでソース+実行可能ファイルの実行可能ファイルを確認できます。
ターミナルで次のコマンドを実行してDBMSに接続します(ルートアクセスが必要です)。
sudo mysql -u root -p;
ターゲットユーザーの更新パスワードを実行します(この例ではmousavi、ユーザー名はで、パスワードはでなければなりません123456):
UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='mousavi';
この時点で、変更を適用するためにフラッシュを実行する必要があります。
FLUSH PRIVILEGES;
できた!mysqlサービスを停止または再起動せずにそれを実行しました。
mysqlが実行されているサーバーへのrootアクセス権がある場合は、このコマンドを使用してmysqlサーバーを停止する必要があります
sudo service mysql stop
このコマンドを使用してmysqlを起動します
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
これで、mysqlにログインできます
sudo mysql
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
完全な手順は、http://www.techmatterz.com/recover-mysql-root-password/にあります。
既存のユーザーを使用して、windows cmdからMySqlにログインします。
mysql -u username -p
パスワードを入力してください:****
次に、次のコマンドを実行します。
mysql> SELECT * FROM mysql.user;
その後、対応するユーザーの暗号化されたmd5パスワードをコピーし、Webで利用可能ないくつかのオンラインパスワード解読アプリケーションがあります。この復号化パスワードを使用して、次回のログインに使用します。または、flowingコマンドを使用してユーザーパスワードを更新します。
mysql> UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';
次に、新しいパスワードとユーザーを使用してログインします。
ODBCが設定されている場合は、ODBC構成ファイルからパスワードを取得できます。これは、Linuxの場合は/etc/odbc.iniにあり、WindowsのレジストリのSoftware / ODBCフォルダにあります(いくつかあります-ある程度の検索が必要になる場合があります)。
ファイルを保存します。この例では、ファイルの名前はC:\ mysql-init.txtになります。ファイルを保存するための管理権限を尋ねる
OPの質問の厳格な、論理的、コンピュータscience'ish解釈が必要とするだろうが、両方とも「どのように私は私のMySQLユーザ名取得ん」と「パスワード」 -も、私はそれが誰かの役に立つかもしれないと思った対処OR解釈を。言い換えると ...
1)MySQLユーザー名を取得するにはどうすればよいですか?
または
2)パスワード
この後者の状態はすでに十分に対処されているようですので、気になりません。以下は、「MySQLユーザー名を取得する方法」のみの場合の解決策です。HIH。
mysqlユーザー名を見つけるには、mysqlシェルから次のコマンドを実行します...
mysql.userからユーザーを選択します。
すべてのmysqlユーザーのテーブルを出力します。