Help us understand the problem. What is going on with this article?

Mac ローカル環境の MySQL 8.x のrootパスワードを忘れた時のリセット方法

目的

  • MySQLのrootパスワードを再設定する方法をまとめる。

実施方法

  1. 下記コマンドを実行してMySQLを止める

    $ mysql.server stop
    
  2. 下記コマンドを実行してMySQLをセーフモードで起動する。

    $ mysqld_safe --skip-grant-tables &
    
  3. 別のターミナルを開き、書きコマンドを実行してrootユーザのパスワード無し状態でログインする。

    $ mysql -u root
    
  4. 下記コマンドを実行してrootユーザーのパスワードを空に設定する。

    mysql> UPDATE mysql.user SET authentication_string=null WHERE User='root';
    
  5. 下記コマンドを実行してセーフモードで開いたMySQLを閉じる

    mysql> exit
    
  6. セーフモードでMySQLを起動させたターミナル(コマンド$ mysqld_safe --skip-grant-tables &を実行したターミナルで)が終了しない時(コマンドが打てるようにならない)は下記コマンドを実行して動いているMySQLをkillする。

    ※XXXXXは同じ数字が入る。必ず5桁とは限らない。

    $ mysql.server status
    >SUCCESS! MySQL running (XXXXX)
    
    $ kill XXXXX
    
    $ ps aux| grep mysqld
    >ユーザ名            XXXXX   0.0  0.0  4271424   1376 s001  S    12:21AM   0:00.03 /bin/sh /usr/local/Cellar/mysql/8.0.18_1/bin/mysqld_safe --datadir=/usr/local/var/mysql --pid-file=/usr/local/var/mysql/MacBook-miriwo.local.pid
    
    $ kill XXXXX
    
  7. 下記コマンドを実行して通常モードでMySQLを起動する。

    $ mysql.server restart
    
  8. 下記コマンドを実行した後に何も入力せずEnterを押下する。

    $ mysql -u root -p 
    
  9. 下記コマンドを実行してパスワードを再設定する。

    mysql> USE mysql;
    mysql> ALTER USER 'root'@'localhost' identified BY '任意のパスワード';
    
  10. 下記コマンドを実行して一度MySQLから出る。

    mysql> exit
    
  11. 下記コマンドを実行した後に再設定した任意のパスワードを入力してEnterを押下しログインできるか確認する。

    $ mysql -u root -p
    
  12. ターミナルが下記のようになれば成功

    mysql>
    

Ruby on Rails を使用していて前述の作業を行なった方

  • 下記作業を実施いてrailsアプリの設定ファイルに記載されているMySQLのアカウントのパスワードを再設定する。
  1. アプリ名ディレクトリ/configに存在するdatabase.ymlファイルをエディタで開く。
  2. mysql2のパスワードを再設定したものに修正する。

    default: &default
       adapter: mysql2
       encoding: utf8mb4
       pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
       username: root
       # 下記を先ほど再設定したものに書き換える
       password: 
       socket: /tmp/mysql.sock
    
miriwo
web系のバックエンドの知識を習得中!
https://miriwo.hatenablog.com/
boomtechcafe
埼玉県の朝霞台を拠点にエンジニアの勉強会、交流会等のイベントを企画しています! 朝霞台駅か北朝霞駅が全然行けちゃうぜってエンジニアの方がいたら是非! もくもく会とかゲーム大会とかもやれたらな~って思ってます。
https://boom-teck-cafe.connpass.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした