前提
MySQL初心者です。
MySQLで rootのパスワードを設定していなかったので、 rootのパスワードをリセットする方法でやろうとしたのですが、エラーが出て自力で解決できなかったため質問させていただきます。
環境
macOS Monterey 12.3.1(M1,2020)
Mysql Ver 8.0.30 for macos12.4 on arm64 (Homebrew)
Python 3.8.9
参考にした記事
B.3.3.2 root のパスワードをリセットする方法
https://dev.mysql.com/doc/refman/8.0/ja/resetting-permissions.html
発生している問題・エラーメッセージ
最初にこうしたのですが入れず、 % mysql ERROR 1045 (28000): Access denied for user 'ユーザー名'@'localhost' (using password: NO) このようにしても入れず、、 % mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
そこで、 % mysqld_safe --skip-grant-tables & して、ターミナルを新しく開き、ALTER USERで root に設定したパスワードを入れましたが、下記のエラーが出ました。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '設定したパスワード'; ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
試したこと
(mysqlをインストール)
% mysql.server stop
Shutting down MySQL
. SUCCESS!
ユーザー名@パスワード-2 mysql % mysqld_safe --skip-grant-tables &
//ここにもエラーらしきものが、、
[1] 47244
ユーザー名@パスワード-2 mysql % 2022-09-06T06:17:10.6NZ mysqld_safe Logging to '/opt/homebrew/var/mysql/パスワード-2.local.err'.
2022-09-06T06:17:10.6NZ mysqld_safe Starting mysqld daemon with databases from /opt/homebrew/var/mysql
//もう一つターミナルを立ち上げ
% mysql
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'パスワード;
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
mysql>
コメントを参考にしながら自己解決
その後、再び
mysqld_safe --skip-grant-tables
をたたき、
別ウィンドウを開き、
use mysql;
select user,host from user;
したところ、ユーザーがいなかったので、mysql.infoschema を作り、権限を与えたところ、mysql.infoschemaで入れるようになりました。
これで解決したと言えるのかわからないのですが、アドバイスを参考にしながらなんとかパスワードも設定し、それで入れるようになりました。
アドバイスくださったquickquipさん、Matsumon0104さんに感謝します。
回答2件
あなたの回答
tips
プレビュー