はじめに
XAMPPでWebアプリケーションを開発するときにPHPから接続するMySQLの設定(コマンド等)についてメモです。
覚え書き&簡単なコマンドのみなので浅く書きます。
[ユーザ名]
とかなっているところは各自の設定にしてください。
'19/5/20 テーブル一覧表示とスキーマ表示を「おわりに」に追記しました。
環境
$ mysql --version
mysql Ver 15.1 Distrib 10.1.31-MariaDB, for Linux (x86_64) using readline 5.1
MySQLコマンド
インストールしたばかりでログインするならこれ。
$ mysql -u root
rootにパスワードを設定している場合、$ mysql -u root -p
としたり、ログインしてデータベースにアクセスする場合は-p
のあとにデータベース名を入力すると一瞬で行ける。
例:hogeというユーザfoo_dbというデータベースにログインする場合。
$ mysql -u hoge -p foo_db
EXIT
MySQLコマンドの状態から抜け出すには
> exit
もしくは> quit
で抜け出す。
これはセミコロン要らないんですよね・・・。
データベース・テーブルの作成
MySQLにログインできたら最初はデータベースの作成を行う。
MySQLコマンドは1コマンドごとにセミコロン;
が必要。
データベースの構成
MySQLの構成は以下のようになっている(簡易的)。
mysql
├── DataBase1
├── Table1
└── Table2
├── DataBase2
└── Table3
├── DataBase3
.
.
データベースの作成と権限の設定
データベース名は test_db とかでいいと思います。
- データベースの作成
> create database [データベース名];
- データベース一覧表示
> show databases;
- データベースにアクセスできるユーザの設定
> grant all on [データベース名].* to [ユーザ名]@localhost identified by '[パスワード]';
テーブルの作成
- テーブルを作成するデータベースを選択
> use [データベース名];
- テーブルの作成
> create table [テーブル名] ( [フィールド名] [型] [オプション(複数指定可能)], ...);
例: 次のような users テーブルを作成するコマンド
> create table users ( id int not null primary key, name varchar(255), score int);
フィールド | 型 | オプション |
---|---|---|
id | int | not null, primary key |
name | varchar(255) | |
score | int |
おわりに
XAMPPでMySQLにアクセスするときの初期設定的な部分を書きました。
自分が見直すようのメモ程度です。
最後に、 grant all で設定したユーザでアクセスできるか確認すると良いかもしれません
$ mysql -u [ユーザ名] -p [データベース名]
このコマンドを実行してパスワードを入力して無事ログインできたら、その情報をPHPでPDOに流し込むことでPHPとMySQLの連携ができます。
追記(おまけ)
- テーブル一覧表示
> show tables;
- テーブルのスキーマ表示
> desc users;
localhostの部分をIPアドレスとかにしたら特定のMySQL(もといデータベース)にアクセスできるのだろうか、とふと思ったので今度試してみたいです。