Software:XAMPP 元に戻る

MySQL Note 2024/7/2

本文目次

本文以外目次
1.既存データベースの注意事項
2.MySQLでデータベースの作成(phpMyAdminで作成)
3.MySQLのユーザーアカウント設定(root パスワード)
 (1)MySQLのrootパスワード設定
 (2)rootパスワードを設定後のphpMyAdminの起動方法は2ケース有り
  a.rootパスワードを設定したあと、すぐにXAMPPからphpMyAdminを起動するとエラー表示
  b.設定ファイルにパスワードを登録。ログイン画面は経由せずphpMyAdminを起動する
  c.ログイン画面により毎回パスワードを入力しphpMyAdminを起動する。
4.MySQLのユーザーアカウントの追加
 (1)追加前の「phpMyAdmin」で見たユーザアカウント内容
 (2)「Shell」を使用する方法
 (3)「phpMyAdmin」を使用する方法
 (4)ユーザの権限について
5.MySQLのユーザアカウントの削除



本   文

1.既存データベースの注意事項
初期状態で用意されているデータベースのうち、「information_schema」「mysql」「performation_schema」「phpmyadmin」データベースは、MySQLの動作に欠かせないデータベースです。
そのため、間違っても削除や不要なデータの登録など行わないように、注意が必要です。
ほかにも 「test」 がありますが、触らないほうが良い。

「information_schema」データベース
 MySQLの構成情報を管理するためのデータベースです。

「mysql」データベース
 MySQLが動作するための基本的な情報(ユーザー情報など)を管理するためのデータベースで

「performation_schema」データベース
 MySQLで実行されるトランザクションやクエリなどの実行時の様々な情報を取得してくれる機能です。
 使い方URLは
 https://developers.freee.co.jp/entry/survey-performance-schema

「phpmyadmin」データベース
MySQLをブラウザ上で管理するためのツールです。
phpMyAdminがあれば、データベースの作成・削除、レコードの作成・編集といった基本的な作業を、GUI上で行えるようになります。
[目次に戻る]


2.MySQLでデータベースの作成(phpMyAdminで作成)
データベースの例は太陽光発電システムのデータベースの一部を作成する。


 (1)XAMPP Control Panel で MySQL行の「Admin」を右クリックする。
  

 (2)phpMyAdmin が表示される。
  

 (3)phpMyAdmin の「データベース」を右クリックする。
  

 (4)データベース名は「SolarPowerDb」で SolarPowerDb と入力して『作成』を右クリックする。
  

 (5)テーブル名「opm」とカラム数「11」を入れ『作成』をクリック
  

 (6)各カラムの設定
  ・opm_idの欄は連番になるためタイプは「INT」長さを「11」にします。また自動的に番号を加算して記録する必要があるので、「Ai」の□欄をクリックしてチェックしてください。
  ・opm_dtimeの欄は記録時の日時を入れるので、タイプは「DATETIME」、デフォルト値は「CURRENT_TIME」にします。
  ・最後opm_biまではタイプは「FLOAT」にします。
  ・opm_biはAC電源の種類が「太陽光のインバータ電源」か「電力会社の電源」なのかの2種類を表すもので1Bit だけあれば良いので、タイプは「TINYINT」で長さを「1」にします。 タイプが「BOOLEAN」もあります。処理的には同じです!
全て設定すれば、『保存する』を右クリックする。
  
カーソルをしたへ進める
  

 (7)作成したカラムが表示されます。 
  
[目次に戻る]


3.MySQLのユーザーアカウント設定(root パスワード)
 (1)MySQLのrootパスワード設定    最初に戻る
   a.「Shell」を右クリックする
    

   b.Shellが起動する。
    なおasovo@CF_SZ6 は私のパソコン名で、他のパソコンでは違った名前になっていると思います。
    またこのパソコンのXAMPPはd:\にインストールしたので d:\xampp と表示されています。

     mysqladmin -u root password と入力し「Enter」キーを押す
    

   c.設定するパスワードを2度入力する。
    新しいパスワードと表示されるので、パスワードを入力して「Enter」キーを押す。
    もう一回同じパスワードを入力して「Enter」キーを押す。
    

   d. MySQLにrootで入れるか確認
    パスワードを聞いてくるので パスワードを入力して「Enter」キーを押すと
     MaeiaDB[(none)]  のコマンド待ち表示になっている
    

   f.MySQLから終わる場合は quit と入力し「Enter」キーを押す。
    
    このShellを終わる場合はexit と入力し「Enter」キーを押す。

    これで終わり!

 (2)rootパスワードを設定後のphpMyAdminの起動方法は2ケース有り
  a.rootパスワードを設定したあと、すぐにXAMPPからphpMyAdminを起動するとエラー表示が出て起動できない。
   対応としては2ケース有る。
    
     エラー表示
    

   b.設定ファイルにパスワードを登録。ログイン画面は経由せずphpMyAdminを起動する 最初に戻る
    (a)xampp\phpMyAdminディレクトリー内のconfig.inc.php をエディターで修正します。
      
    (b)下に示す password 行の =''; の '*****' *=パスワードを記載しファイルを登録する。 
       
    (c) phpMyAdminが表示される へ移動

   c.ログイン画面により毎回パスワードを入力しphpMyAdminを起動する。      最初に戻る
    (a)xampp\phpMyAdminディレクトリー内のconfig.inc.php をエディターで修正します。
      
    (b)auth_type行の'config'を'cookie'へ変更しファイルを登録する
              
       修正して登録
      
    (c)XAMPPからphpMyAdminを起動する
      
       ユーザ名欄に root    パスワード欄に パスワードを入力して「ログイン」右クリック

    (d)phpMyAdminが表示される
      アカウントタブを右クリックしてrootアカウントでパスワードの設定が有るか確認 「はい」 と表示されている。
      

      設定設定完了!
[目次に戻る]


4.MySQLのユーザアカウントの設定(その他)
太陽光発電システムのモニターを作成するため、ESP8266MODにより得た情報(KWS-AC301)等をMySQLに記録するために、ESP8266MODのユーザアカウントを作成します。
(1)追加前の「phpMyAdmin」で見たユーザアカウント内容
  以下リストにユーザ名 ESP8266MOD_1 を追加する。
    

 作成方法として「Shell」を使用する方法と「phpMyAdmin」を使用する2つの方法があります。

(2)「Shell」を使用する方法     最初に戻る
 a.「Shell」の起動
  XAMPPを起動し右の「Shell」をマウスで右クリック
   

 b.「Shell」が表示される
   表示された後MYSQLにrootでログイン mysql -u root -p  改行
   rootのパスワードを入力 ******** 改行
   MariaDB[(none)]  と表示が有る
   

  c.ユーザを追加する
   下記の様にキー入力する。  追加するユーザ名は ESP8266MOD_1
   CREATE USER ユーザ名@'localhost' IDENTIFIED BY 'パスワード'; 改行
   
   Query OK で登録が完了する
   
   権限等も「Shell」で登録できそうだが、この後は「phpMyAdmin」で登録したい。

   d.「phpMyAdmin」のユーザアカウントを確認
   赤枠tが追加されている
   

(3)「phpMyAdmin」を使用する方法      最初に戻る
  a.phpMyAdminの「ユーザアカウントを追加する」をマウスで右クリック
   

  b.ユーザ名、ホスト名、パスワード、認証プラグインを入力する。
    今回のホスト ESP8266MOD_1 はMySQLと違ったIPアドレスなので、
    ホスト名は  すべてのホスト を選択した。
注意 ローカル とした場合はMySQLサーバが有る ローカル でしかログインできなくなるので注意する事。
「ホスト名」には作成するユーザーが接続可能なホストを指定します。
指定可能な値は host.example.com や 192.168.128.1 などの IP アドレス指定の他に
ローカルホストを表す localhost
今回選択したホストの制限が無い % など指定可能です。





   認証プラグインは選択になっているが ネイティブMySQL認証 しか無かった。
      

  c.権限について入力
    データを全て選択し 再下端の「実行」をマウス右クリック
      その他権限については(4)を参照
     

 d.登録結果の表示
   

   登録完了

 e.ユーザアカウントの確認
   


(4)ユーザの権限について     最初に戻る
用途 権限 レベル 意味
データ SELECT GDTC SELECT の使用を可能にします。
INSERT GDTC INSERTの使用を可能にします。
UPDATE GDTC UPDATE の使用を可能にします。
DELETE GDT データベース、テーブル、ビューの削除を可能にします。
FILE G SELECT ... INTO OUTFILE と LOAD DATA INFILE の使用を可能にします。
構造 CREATE GDT データベース、テーブルの作成を可能にします。
ALTER GDT テーブルの変更を可能にします。
INDEX GDT インデックスの作成と削除を可能にします。
DROP GDT テーブルの削除を可能にします。
CREATE TEMPORARY TABLES GD CREATE TEMPORARY TABLE の使用を可能にします。
SHOW VIEW GDT SHOW CREATE VIEWの使用を可能にします。
CREATE ROUTINE GD ストアドルーチンの作成を可能にします。
ALTER ROUTINE GDR ストアドルーチンの変更、削除を可能にします。
EXECUTE GDR ユーザがストアドルーチンを起動させるのを可能にします。
CREATE VIEW GDT ビューの作成と変更を可能にします。
EVENT GD イベントスケジューラがイベントの利用を可能にします。
TRIGGER GDT トリガの作成と削除を可能にします。
管理 GRANT OPTION GDTRP 他のアカウントへの権限の付与とを削除を可能にします。
SUPER G CHANGE MASTER TO 、 KILL 、 PURGE BINARY LOGS 、 SET GLOBAL 、そして mysqladmin debug command の使用を可能にします。
PROCESS G SHOW FULL PROCESSLIST の使用を可能にします。
RELOAD G FLUSH の使用を可能にします。
SHUTDOWN G mysqladmin shutdown の使用を可能にします。
SHOW DATABASES G SHOW DATABASES の使用を可能とします。
LOCK TABLES GD SELECT 権限を持つテーブル上の LOCK TABLES の使用を可能にします。
REFERENCES GDTC 外部キーの作成を可能にします。
REPLICATION CLIENT G ユーザがスレーブとマスタの場所を問い合わせることを可能にします。
REPLICATION SLAVE G 複製スレーブを可能とします。 (マスタからバイナリログイベントを読み込む為)
CREATE USER G CREATE USER 、 DROP USER 、 RENAME USER 、そして REVOKE ALL PRIVILEGES の使用を可能にします。
その他
ALL [PRIVILEGES] GDT GRANT OPTION と PROXY 以外の全ての権限を設定します。
CREATE ROLE G ロールの作成を可能にします。
CREATE TABLESPACE G テーブルスペースとロググループの作成、変更、削除を可能にします。
DROP ROLE G ロールの削除を可能にします。
PROXY -- PROXYの使用を可能にします。
USAGE G 「権限が無い」 の同義語です。

[目次に戻る]


5.MySQLのユーザアカウントの削除

 例としてESP8266MOD_1を「Shell」で削除する。

(1)MySQLにログインする
   表示された後MYSQLにrootでログイン mysql -u root -p  改行
   rootのパスワードを入力 ******** 改行
   MariaDB[(none)]  と表示が有る
    

(2)ESP8266MODを削除する。
  削除前後に登録されているユーザを確認する。
  a.登録されているユーザリストを表示する select user, host from mysql.user; 改行
  b.ESP8266MOD_1を削除する  drop user ESP8266MOD_1@localhost; 改行
  c.登録されているユーザリストを表示する select user, host from mysql.user; 改行
   リストからESP8266MOD_1が無くなったことが判る。
  

[目次に戻る]