2.1 前準備 |
2.1.1 DownLoad
以下のサイトから"mysql-3.22.32.tar.gz"をダウンロードします。http://www.softagency.co.jp/MySQL/Downloads/
2.1.2 user登録
mysqlを起動、管理するためのユーザを新規にマシンに登録します。 ここでは"mysql"というユーザを登録することにします。2.1.3 Install
インストールはユーザ:mysqlで行ないます。
適当なディレクトリに"mysql-3.22.32.tar.gz"を展開します。
今回は"/usr/local/src"とします。
2.2 DBの作成と基本操作 |
以下の操作はすべてユーザ:mysqlが行なうものとして説明します。
2.2.1 DBMSの起動と停止
mysqlのデーモンは、以下のスクリプトを実行することにより起動することができます。
MySQLサーバを安全に停止させるには、以下のコマンドを実行します。
2.2.2 インタプリタの起動
DBシステムにアクセスする際、 通常はクライアント側のインタプリタから行ないます。 ここでmysqlのインタプリタの起動方法を説明します。
注意: ここでの"root"はMySQLのユーザ:rootであり、MySQLをインストールしたマシンの ユーザではありません。
以下に例を示します。
上記の例ではインタプリタを起動するだけでしたが、
起動時に明示的にDBを指定することもできます。
例えば"testDB"というDBに接続する際には以下のコマンドを実行します。
2.2.3 DBの作成
インタプリタを起動した状態で、DBを一つ作成してみます。
2.2.4 インタプリタ内でのDBへの接続
2.2.5 テーブルの作成
"testDB"に簡単なテーブルを作る方法を説明します。フィールド名 | 属性 | 制約 | 主キー |
id | CHAR(12) | NOT NULL | ● |
flag | CHAR(1) | NOT NULL | _ |
day | DATE | _ | _ |
2.2.6 テーブル操作
2.2.7 コマンドラインからの操作
MySQLはコマンドラインからも操作できます。
"-e"オプションを使ってコマンドラインからSQL文の直接実行することができます。
"-e"オプション後に実行するSQL文をシングルクオート'で囲み、最後にDB名を指定します。
例として、DB:testDBのテーブル:test01にデータを挿入してみます。
SQL文をファイルにまとめ、バッチコマンドとしても実行することができます。
以下に2つのデータを挿入するSQL文を列記したスクリプト:script.sqlを示します。
insert into test01 (id, flag) values ('000000000001', '1'); insert into test01 (id, flag) values ('000000000002', '1'); |
2.3 Tips |
2.3.1 データのIMPORTとバックアップ
ファイルからDBのテーブルへデータを挿入するには
"/usr/local/mysql/ibn/mysqlimport"コマンドを使います。
ここで注意すべきことは、データの書かれたファイル名で、
データを挿入するテーブル名に"txt"をサフィックスとしたものにしなければ
なりません。
例えば、テーブル:test01にデータを挿入する場合には、
"test01.txt"というファイル名にします。
例として、
DB:testDBのテーブル:test01にデータを挿入する場合を説明します。
まず、入力するデータを準備します。ファイル名は"test01.txt"です。
000000000000 1 000000000001 1 000000000002 1 |
注意: 上記の例では、ファイルの末尾に空行があるように見えますが、 実際は最終行:
000000000002 1
の行末に改行コード"\n"があるのみです。
データ挿入用のファイルが生成できたら、以下のコマンドを実行します。
MySQLはDBのバックアップ手段として、
DBのテーブル生成文(create table)と
データの挿入文(insert into)を出力します。
つまり、出力(をファイルに保存したもの)を
mysqlインタプリタに入力することで、
テーブルの再作成を可能とし、
それを以ってDBのバックアップとするようです。
注: 一方、cvs形式のテーブルデータ出力はサポートされていないようです。
mysqldumpコマンドの使い方ですが、一連のオプションの他に"-q"オプションを 指定すべきでしょう。
:注 "-p"オプションは、クエリを標準出力へ直接出力するためのオプションです。
デフォルトではクエリはバッファにため込まれるので、多量のデータを有する DBの場合、問題が発生する可能性があります。
2.4 参考サイト |
http://www.softagency.co.jp/mysql/
home |index |previous |contents