mysql 5.7 root権限のパスワードのリセット方法 忘れた時の初期化方法

前任の人が設定したzabbixでテーブルの更新をする必要がありmysqlを開こうとしたらパスワードがわからなかっため再設定しました。

ふぅたこ

Linux超素人ですが、簡単に対処できます。

目次

実行環境

  • CentOS Linux release 7.9.2009
  • Server version: 5.7.36 MySQL Community Server (GPL)

パスワード間違えた時のエラー

# mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

対処方法

mysqld を停止し、–skip-grant-tables オプションを指定して再起動します。

mysqlを停止します

systemctl stop mysqld

mysqlをセーフモードで起動

systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

mysqlを開始します

systemctl start mysqld

mysqlへログインします

下記コマンドでパスワードなしで入れます。

mysql -u root mysql

rootのパスワードのリセットをします

mysql> という表示になりますので、下記コマンドを入力。

【新password】の所はお好きなパスワードに変更してください。

UPDATE mysql.user SET authentication_string = PASSWORD('【新password】') WHERE User = 'root' AND Host = 'localhost';

変更を反映するためのコマンド

FLUSH PRIVILEGES;

通常起動に設定を戻し、動作確認

# mysqlを停止
systemctl stop mysqld

# mysqlを通常起動に戻します
systemctl unset-environment MYSQLD_OPTS

# mysqlを開始
systemctl start mysqld

# ログイン
mysql -u root -p
Enter password: 【新password】を入れる
よかったらシェアしてね!

コメント

コメントする

目次
閉じる