MySQLの基本的な使用方法



### MySQLのユーザー管理の基本的な方法###
#mysqlへログイン
$ mysql -p -u root

mysql>


#ユーザーと、ホスト、パスワード(暗号化されて表示)の確認
mysql> select user, host, password from mysql.user;
+------------------+-----------+-------------------------------------------+
| user | host | password |
+------------------+-----------+-------------------------------------------+
| root | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | kappa | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | 127.0.0.1 | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| debian-sys-maint | localhost | *13D2E672A484EF5900F103BFC78F4FE30550E999 |
| phpmyadmin | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+------------------+-----------+-------------------------------------------+

# kappaというユーザーを作成し、すべての権限を与え、kappaというパスワードを作成します。ホストは、localhostです。
mysql> grant all on *.* to kappa@"localhost" identified by "kappa";

#ユーザー情報の確認。kappaユーザーの追加を確認する。
mysql> select user, host, password from mysql.user;
+------------------+-----------+-------------------------------------------+
| user | host | password |
+------------------+-----------+-------------------------------------------+
| root | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | kappa | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | 127.0.0.1 | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| debian-sys-maint | localhost | *13D2E672A484EF5900F103BFC78F4FE30550E999 |
| phpmyadmin | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| kappa | localhost | *663387C80A4750C29F7B2AB0490A522AFE4940E7 |
+------------------+-----------+-------------------------------------------+




####以後は、kokyakuというデータベースを作成して、データを追加していく####

#上で作成した一般ユーザーkappaでログイン
mysql> exit

$ mysql -p -u kappa

mysql>

#データベースの確認
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| phpmyadmin |
+--------------------+

# kokyakuというデータベースを追加する
mysql> create database kokyaku;

#データベースの確認
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| kokyaku |
| mysql |
| phpmyadmin |
+--------------------+

#kokyaku を使用する
mysql> use kokyaku

#一度、mysqlをバックグランド処理へ送る
control + z

#データベースを作成するためのスクリプトを作成

$ echo "CREATE TABLE address(id smallint, name text, zip text, city text, addr text, tel text(10), date timestamp ) engine=MyISAM;" > kokyaku.scrip

#mysqlをフォアグラウンドへ
$ fg

mysql>

#スクリプトを読み込む
mysql> source kokyaku.script

#データを挿入
insert into address (id, name, zip, city, addr, tel, date) values ( 1, '山田花子', '100-0000', 'とうきょうとt 東京都ちよd ちよだ ちよだk ちよだく 千代田区 千代田区', '千代田1-1-1', '0120-345-689', now());


#addressというkokyakuデータベース内に作成したテーブルの内容を表示する。
mysql> select * from address;
+------+--------------+----------+-----------------------+----------------+--------------+---------------------+
| id | name | zip | city | addr | tel | date |
+------+--------------+----------+-----------------------+----------------+--------------+---------------------+
| 1 | 山田花子 | 100-0000 | 東京都千代田区 | 千代田1-1-1 | 0120-345-689 | 2013-01-06 22:40:42 |
+------+--------------+----------+-----------------------+----------------+--------------+---------------------+

####kokyakuデータベースのバックアップについて###

#以下のようにmysqldumpを行います。標準出力に結果が表示されるので、ファイル出力にリダイレクトが必要です。
$ mysqldump kokyaku -u kappa -p > ./kokyaku.sql

#一度、kokyakuを消去して、バックアップファイルからリストアしてみます。
#kokyaku の消去

$ mysql -u kappa -p

mysql > DROP DATABASE kokyaku

#消去の確認
mysql > show DATABASES;

+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| phpmyadmin |
+--------------------+

#カレントディレクトリのkokyaku.sqlを用いてリストアを行う。
#一度、同名のデータベースを作成しなおしておく必要あり。
mysql> create database kokyaku;
mysql> exit

#バッックアップデータからの読み込み
$ mysql kokyaku -u kappa -p < ./kokyaku.sql

mysql> use kokyaku;
mysql> select * from address;
+------+--------------+----------+-----------------------+----------------+--------------+---------------------+
| id | name | zip | city | addr | tel | date |
+------+--------------+----------+-----------------------+----------------+--------------+---------------------+
| 1 | 山田花子 | 100-0000 | 東京都千代田区 | 千代田1-1-1 | 0120-345-689 | 2013-01-06 22:40:42 |
+------+--------------+----------+-----------------------+----------------+--------------+---------------------+



【参考文献】
清水正人 『6時間でできるLAMPサーバー構築ガイド』ソシム 2007 98 - 109 ,132 - 143pp