ふぅたこ
初心者が初心者にわかりやすく細かく記述します。
zabbixでテーブルの更新をする必要があり、mysqlを開こうとしたら前任者が設定したパスワードがわからず再設定しました。
目次
実行環境
- 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】を入れる
コメント