MySQLの導入および初期設定の実施記録と、開発環境として運用するのに必要最小限のコマンドの説明を記します。
■ 前提
- MacBook Pro, Late 2012
- OS X 10.8.5
- 2014年3月6日に実施
■ ダウンロード
1. 下記サイトを開きます。
■ インストール
※ここではいずれも実行しません。
5. 利便のため、下記のsymlinkを作成しました。
/usr/local/bin/mysqladmin -> /usr/local/mysql-5.6.16-osx10.7-x86_64/bin/mysqladmin
/usr/local/bin/mysql.server -> /usr/local/mysql-5.6.16-osx10.7-x86_64/support-files/mysql.server
■ サーバーの起動と停止
mysql.serverでサーバーの起動、停止を行います。
$ sudo mysql.server start
$ sudo mysql.server stop
■ 確認
サーバーを起動した状態で、下記の確認をします。
【mysqladminでversionを表示】
-----(ここから)-----
$ mysqladmin versionmysqladmin Ver 8.42 Distrib 5.6.16, for osx10.7 on x86_64Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.affiliates. Other names may be trademarks of their respectiveowners.Server version 5.6.16Protocol version 10Uptime: 3 min 26 secThreads: 1 Questions: 5 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 60 Queries per second avg: 0.024-----(ここまで)-----【mysqlで「status」を実行】-----(ここから)-----$ mysql -u rootWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 4Server version: 5.6.16 MySQL Community Server (GPL)Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.affiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> status--------------Connection id: 5Current database:Current user: root@localhostSSL: Not in useCurrent pager: stdoutUsing outfile: ''Using delimiter: ;Server version: 5.6.16 MySQL Community Server (GPL)Protocol version: 10Server characterset: latin1Db characterset: latin1Client characterset: utf8Conn. characterset: utf8Uptime: 40 min 16 secThreads: 1 Questions: 31 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 60 Queries per second avg: 0.012-------------------(ここまで)-----
localhostのサーバーに接続。
$ mysql -u user
指定したホストのサーバーに接続。
$ mysql -u user -h serverhost
データベース作成
mysqlコマンドを起動して、まず、「show databases」して、次に"bar"データベースを作成。作成後再び「show databases」して"bar"データベースが作成されていることを確認。
-----(ここから)-----
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.16 sec)
mysql> create database bar;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| bar |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql>
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.16 sec)
mysql> create database bar;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| bar |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql>
-----(ここまで)-----
ユーザーの作成
"bar"データベースの全てのテーブルに対して全権限を持つユーザー、"foo"を作成。パスワードに"himitsu"を指定。
-----(ここから)-----
作成済みユーザーは"mysql.user"をselectして確認。
-----(ここから)-----+------------------+------+-------------------------------------------+| host | user | password |+------------------+------+-------------------------------------------+| localhost | root | || silkyebisu.local | root | || 127.0.0.1 | root | || ::1 | root | || localhost | | || silkyebisu.local | | || localhost | foo | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |+------------------+------+-------------------------------------------+7 rows in set (0.00 sec)-----(ここまで)-----
テーブルの作成
「現在のデータベース」を「use」で変更。
-----(ここから)-----mysql> status--------------Connection id: 6Current database:Current user: root@localhost・・・(略)・・・Uptime: 1 hour 6 min 25 secThreads: 1 Questions: 48 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 60 Queries per second avg: 0.012--------------mysql> use barDatabase changedmysql> status--------------Connection id: 6Current database: barCurrent user: root@localhost・・・(略)・・・Uptime: 1 hour 6 min 35 secThreads: 1 Questions: 55 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 60 Queries per second avg: 0.013-------------------(ここまで)-----
-----(ここから)----------(ここまで)-----
※"TYPE"は"ENGINE"の同義語として5.4までサポートされていました。5.5以降でキーワード"TYPE"は廃止されキーワード"ENGINE"のみ使用できるようになりました。
※CREATE TABLE文の説明は下記ページにあります。
作成したテーブルの確認。
-----(ここから)-----mysql> desc hoge;+-------+---------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+---------+------+-----+---------+-------+| id | int(11) | YES | | NULL | |+-------+---------+------+-----+---------+-------+1 row in set (0.44 sec)-----(ここまで)-----
■ データベースのdumpとrestore
データベース全体のdump(吐き出し)
バックアップもしくはデータベースの移行や複製のために、データベース全体をファイルに書き出すには、mysqldumpコマンドを用います。
$ mysqldump -u user -h serverhost dbname > dumpfilename
※mysqldumpコマンドについては下記ページに説明があります。
http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html
生成されたファイルはCREATE TABLE文やINSERT文の並んだスクリプトとなっています。
データベース全体のrestore(取り込み)
mysqldumpコマンドで書き出されたファイルは、データベース全体を再現するCREATE TABLE文やINSERT文などの並びとなっています。データベースをrestoreするには、このスクリプトをmysqlコマンドで実行します。
$ mysql -u user -h serverhost -D dbname < dumpfilename
◆以上