XAMPPをインストールして、phpMyAdminで、MySQLを使おうとすると、突然Insertエラーが出始めたとき
(最終更新:2021年4月7日)
以下の方法で、僕の環境では直りました。
(この方法はパソコンに詳しい人向けです)
ちなみに、「よくわかるPHPの教科書 PHP7対応版」のChapter4を途中まで進めて、
phpMyAdminを起動したら、突然「Insert」のエラーが出て、何もできない現象が起き、
phpとMySQL初心者の僕はかなり困りましたが、以下の方法で直りました。
僕の使っていたバージョン
ーーーーーーーーーーーーーーーーーーーーーーーーーー
phpMyAdmin・バージョン情報: 5.0.4
データベースサーバ・ 10.4.17-MariaDB
ーーーーーーーーーーーーーーーーーーーーーーーーーー
知っている知識を総動員して、ググったところ、データベースを操作する権限が
なぜかphpMyAdminのユーザ「pma」から消えていることがわかりました。
なんとかして、データベースを操作する権限を「pma」ユーザに追加して、
エラーが出なくなりました。
また、以下の作業では「pma」ユーザーに「pma」というパスワードを設定しています。
対処方法(Windows10を使用、「C:¥xampp」にインストールしたとき)
(phpMyAdminは閉じておく)
1.コマンドプロンプトを起動(タスクバーの左下の、検索するところに「cmd」と打ち込む)
- 「cd c:¥xampp¥mysql¥bin」と打ち込み、フォルダ移動する。
- プロンプトが「C:¥xampp¥mysql¥bin>」になったことを確認する
- 「mysql -h localhost -u root」と打ち込む
- プロンプトが「MariaDB [(none)]>」になったことを確認する
- 「GRANT ALL PRIVILEGES ON phpmyadmin.* TO pma@localhost IDENTIFIED BY ‘pma’;」と打ち込む
- 「quit」を打ち込み、終了する
2.「config.inc.php」を変更する
- エクスプローラーで、「C:¥xampp¥phpMyAdmin」のconfig.inc.phpをメモ帳などで開く
- 保存する。
/* User for advanced features */
$cfg[‘Servers’][$i][‘controluser’] = ‘pma’;
の下の以下の文を、変更する
$cfg[‘Servers’][$i][‘controlpass’] = ‘’;
↓
$cfg[‘Servers’][$i][‘controlpass’] = ‘pma’;
3.もう一度、phpMyAdminを起動した状態で、コマンドプロンプトで、1.と同じ文を実行する
ただし、「quit」は実行しない
- 「cd c:¥xampp¥mysql¥bin」と打ち込み、フォルダ移動する。
- プロンプトが「C:¥xampp¥mysql¥bin>」になったことを確認する
- 「mysql -h localhost -u root」と打ち込む
- プロンプトが「MariaDB [(none)]>」になったことを確認する
- 「GRANT ALL PRIVILEGES ON phpmyadmin.* TO pma@localhost IDENTIFIED BY ‘pma’;」と打ち込む
4.phpMyAdminの作業
- phpMyAdminで左上の家のマークをクリック
- 上のタブの「ユーザアカウント」を押す
- 「pma」の右の「特権を編集」をクリック
- すべての権限を追加(全てのチェックボックスにチェックをつける)
- 「実行」ボタンを押す。
これで、「phpMyAdmin」を起動し直しても、Insertのエラーが出なくなりました。
コメント