質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

1回答

3144閲覧

MySQLのrootユーザに入れなくなってしまいました。

Fine0

総合スコア2

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

1クリップ

投稿2020/11/01 02:59

編集2020/11/01 07:18

前提・実現したいこと

MySQLのrootユーザパスワードを変更したかったのですが、変更しようとしたら、ログインできなくなりました。
以前のようにrootで入れるようにしたいのですが、どうすればよいでしょうか。
何卒よろしくお願いします。

背景

①rootユーザのパスワードを変えるため、以下のコマンドを入力した。

$ mysqladmin password newpassword -u root -p Enter password:当時のパスワード(変更前のパスワード)

※↑つまり、新しいPWは登録していません。

②コマンドプロンプトの続きが出なくなった。
③コマンドプロンプトを再起動して、rootで入ろうとすると、

mysql -u root -p Enter password: 以前のパスワード ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

となり、入れなくなりました。

試したこと

◎パターン1
以下のコマンドを入力 → 失敗

mysqld_safe --skip-grant-tables 'mysqld_safe' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

◎パターン2
①管理者権限でコマンドプロンプトを開き、「mysqld --skip-grant-tables」と入力
(↑これをすることで、一時的にrootで入れるようになるらしいです。)

②別のコマンドプロンプトを開き、「mysql -u root mysql」と入力

③以下コマンドを入力 → 失敗

MariaDB [mysql]> update user set authentication_string =PASSWORD('新しいパスワード') where user = "root"; →ERROR 1348 (HY000): Column 'authentication_string' is not updatable

④以下コマンドを入力 → 失敗

MariaDB [mysql]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Res1stance90'; ERROR 1290 (HY000): The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement

補足情報(FW/ツールのバージョンなど)

Windows10にて、XAMPPのmysqlを使っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/11/01 06:18

>②別のコマンドプロンプトを開き、「mysql -u root mysql」と入力 ん?update実行してるし、これrootで入ってませんか?
Fine0

2020/11/01 07:19 編集

ご意見ありがとうございます。 パターン2の①で「mysqld --skip-grant-tables」を入れているので、一時的にrootで入ることができています。 このコマンドについては私もよく分かっていませんが、MySQLの権限システムを使用しないで起動するためのものだそうです。本来、ここからパスワード設定ができるはずのようです。 ですので、パターン2の②でrootで入れていることは、根本的解決にはなっていません。PCを再起動した現在もmysqlに入れないままです。 update 実行もエラーが出てしまい、updateできていません。
guest

回答1

0

自己解決

自己解決できたのでその方法を載せます。

こちらの記事を参考にしました。
https://stackoverflow.com/questions/41645309/mysql-error-access-denied-for-user-rootlocalhost

1, 「my.ini」ファイルを開く (C:\xampp\mysql\bin\my.ini)
2, 「 [mysqld]」 の記述の下に、「skip-grant-tables」を追記
3,  Mysqlを再起動
4, ターミナルから、「mysql -u root -p」で入る
5, 「mysql> flush privileges;」を入力 → エラーが起きるが気にしない
6, 「ALTER USER 'root'@'localhost' IDENTIFIED BY '新しいパスワード';」を入力
7, 「my.ini」ファイルに追記した「skip-grant-tables」を消す
8,  Mysqlを再起動
9, ターミナルから「mysql -u root -p」で入れるようになる

参考になれば幸いです。

投稿2020/11/03 02:18

編集2020/11/03 02:21
Fine0

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問