1

最近、(クラウド) サーバーに mysql をインストールした後、実行しsudo /usr/bin/mysql_secure_installationてリモート ルート ログインを許可しませんでした。次に、すべてのクエリを実行する別のユーザーを作成し、適切な権限を付与しました。現在、パスワードを思い出せず (またはパスワードが何らかの理由で変更されて)、mysql に接続できません。を使用して接続しようとするたびにmysql -u user -p、次のエラーが表示されます

ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES)

ここでSOが提案した他の質問への回答をたどってみましたが、それらのほとんどはmysqlシェルへのアクセスを必要とします。

私も使用して再構成しようとしました sudo dpkg-reconfigure mysql-server-5.5(私のバージョン番号は5.5.41です)。

これを使用して、ルートパスワードを設定できますが、接続できません。一部のユーザーが提案したように、セーフモードでmysqlを実行しようとしましたが、うまくいきませんでした。

最後に思いつくのは、root のリモート アクセスをどうにかして無効にすることでした。なぜなら、root のパスワードをリセットしてuserから、mysql シェルを介してパスワードをリセットできるからです。そのため、ファイルを調べてみました/etc/mysql/my.cnfが、関連するものは何もありませんでした。

不足しているものはありますか?パスワードをリセットして再度アクセスするにはどうすればよいですか?

4

1 に答える 1

2

MySQL サービスを停止する

#/etc/init.d/mysql stop

--skip-grant-tables を使用して MySQL サーバーを実行する

#mysqld -u mysql --skip-grant-tables &

root として mysql クライアントを実行する

#mysql -u root

パスワードを更新する

mysql> update mysql.user set password=password('newpassword') where user='anotheruser';

リロード権限

mysql> flush privileges;

mysqld を殺す

#killall mysql

mysql デーモンを起動する

#/etc/init.d/mysql start
于 2015-03-28T01:27:33.257 に答える