〜宣伝〜
個人開発でエンジニア専門マッチングサービスを開発しましたので、是非未経験からエンジニア目指している人!現役エンジニアで教えたい人!使ってみてください!
β版リリース記念キャンペーン中です!
10名様限定、抽選でお好きな技術本1冊プレゼント!
🎉当選者にはメッセージ差し上げます(送付の際に住所はお聞きしません)
詳しくはこちらから↓
目的
- MySQLのrootパスワードを再設定する方法をまとめる。
実施方法
-
下記コマンドを実行してMySQLを止める
$ mysql.server stop
-
下記コマンドを実行してMySQLをセーフモードで起動する。
$ mysqld_safe --skip-grant-tables &
-
別のターミナルを開き、書きコマンドを実行してrootユーザのパスワード無し状態でログインする。
$ mysql -u root
-
下記コマンドを実行してrootユーザーのパスワードを空に設定する。
mysql> UPDATE mysql.user SET authentication_string=null WHERE User='root';
-
下記コマンドを実行してセーフモードで開いたMySQLを閉じる
mysql> exit
-
セーフモードで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
-
下記コマンドを実行して通常モードでMySQLを起動する。
$ mysql.server restart
-
下記コマンドを実行した後に何も入力せずEnterを押下する。
$ mysql -u root -p
-
下記コマンドを実行してパスワードを再設定する。
mysql> USE mysql; mysql> ALTER USER 'root'@'localhost' identified BY '任意のパスワード';
-
下記コマンドを実行して一度MySQLから出る。
mysql> exit
-
下記コマンドを実行した後に再設定した任意のパスワードを入力してEnterを押下しログインできるか確認する。
$ mysql -u root -p
-
ターミナルが下記のようになれば成功
mysql>
Ruby on Rails を使用していて前述の作業を行なった方
- 下記作業を実施いてrailsアプリの設定ファイルに記載されているMySQLのアカウントのパスワードを再設定する。
-
アプリ名ディレクトリ/config
に存在するdatabase.yml
ファイルをエディタで開く。 -
mysql2のパスワードを再設定したものに修正する。
default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root # 下記を先ほど再設定したものに書き換える password: socket: /tmp/mysql.sock