18
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[MySQL]MySQLでrootパスワードを忘れた場合の対処方法(CentOS)

Last updated at Posted at 2018-05-04

MySQLは扱いやすいDBのため比較的小規模なシステムや勉強用のDBとしてVagrantやVMware上にCentOS等のOSを立てて使われるケースが多くあると思います。
しかし、rootであまりログインしていなかったりするとパスワードを忘れてしまう事もしばしば。。。。。。

そのため、今回はrootパスワードの初期化方法を紹介します。

前提

  • OS:CentOS 7.4
  • MySQL:8.0.11

MySQLの停止

MySQLが起動している場合、MySQLを停止します。
以下はroot権限で実施してください。

# サービスが起動しているかの確認
systemctl status mysqld

サービスが停止している場合は、「Active: inactive (dead)・・・」と表示されますが、「Active: active (running) ・・・」と表示される場合はサービスが起動しているため次のコマンドで停止します。

systemctl stop mysqld

safe modeでの起動

パスワード入力なしでログインできるsafeモードでMySQLのサービスを起動します。

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

MySQLへのログイン

MySQLへログインします。パスワードは不要です。

mysql -u root

権限のリロード

一度flushを行います。

FLUSH PRIVILEGES;

パスワードの再設定

以下のコマンドでパスワードを再設定します。
MyNewPassには変更後のパスワードを入力してください。
再設定したら一旦抜けます。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
exit;

通常モードでの起動

通常モードでサービスを上げ直します。

systemctl stop mysqld
systemctl set-environment MYSQLD_OPTS=""
systemctl start mysqld

その後、変更したパスワードでログインができるようになっているはずです。

##参考リンク
B.5.3.2 How to Reset the Root Password:
 https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html
  
以上です。

18
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?