90
85

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Last updated at Posted at 2019-10-29

〜宣伝〜

個人開発でエンジニア専門マッチングサービスを開発しましたので、是非未経験からエンジニア目指している人!現役エンジニアで教えたい人!使ってみてください!

β版リリース記念キャンペーン中です!

10名様限定、抽選でお好きな技術本1冊プレゼント!
🎉当選者にはメッセージ差し上げます(送付の際に住所はお聞きしません)
詳しくはこちらから↓

https://x.com/dokupro01/status/1796837336145436846

目的

  • 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
    
90
85
6

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
90
85

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?