特集

MySQLデータベースとBaseを接続する(その1)

本格的なDBMSであるMySQLをBaseに登録し、OpenOffice.orgと連携させながら業務アプリケーションとして活用するための基礎知識を3回に分けて紹介する。今回はMySQLのインストールまでを押さえよう。
2005年08月20日 23時00分 更新

UNIX USER2005年6月号第1特集「OpenOffice.org2.0ではじめるDB」Part3より転載

本格DBMSをBaseに登録

 現在、オープンソースのDBMSは、Firebird*、MySQL、PostgreSQLをはじめさまざまな選択肢があり、どれを使ったらいいのか困るほど充実したラインアップとなっています。中でもMySQLは、Windowsも加えた複数のOSでの可動実績のあるデータベースです。OS環境を選ばないという点で、本稿および次号からの連載では、紹介するデータベースとしてMySQLを選びました。

 また、MySQLと並ぶ存在であるPostgreSQLも、2005年1月にリリースされたバージョン8.0でネイティブなWindows版が登場しています。同データベースを含め、いくつかのDBMSについては次号からの連載において紹介します。

 さて、これらのデータベースは、一部例外はありますが、OpenOffice.org(以下、OOo)からはODBC*か、JDBC*のドライバ経由で利用することになります。どちらのドライバを選ぶか悩むところですが、まずはJDBCで紹介しましょう*。Part 3では、連載の実質的な第1回として、MySQLデータベースのBaseへの登録とテーブル作成までを紹介します。

MySQLの紹介

 MySQLは、スウェーデンのMichael Widenius氏によって開発されたDBMSで、現在はMySQL ABに開発が引き継がれています。ソース公開が義務付けられるGPLとコマーシャルライセンスのどちらかを選べる点がユニークで、結果、後者のライセンスが企業ユーザーの支持を得て広く知られるDBMSとなりました。現在は、安定版で4.1系列、開発版として5.0系列がリリースされています。また、ソースコードの配布などは公式Webサイトで行われており、URLは次のとおりとなっています。

http://www.mysql.com/

 日本国内の情報源としては「日本MySQLユーザ会」が総本山的存在となっています。

http://www.mysql.gr.jp/

MySQLのインストール

 Linuxの場合、ほとんどのディストリビューションでパッケージ化されているので、使い慣れたインストール方法でMySQLを導入すれば良いでしょう。また、OSのインストール時に「デスクトップ用途向け」のパッケージグループを選んだ場合もMySQLがインストールされることが多いので、確認してみてください。

 ただし、パッケージによる導入では、最新版のバージョン4.1ではなく4.0がインストールされるかもしれません。最新版が必要な方は、次のURLにあるダウンロードページから入手してください。

http://dev.mysql.com/downloads/mysql/4.1.html

 ソースはもとより、Linux用バイナリ、RPMパッケージ、さらにWindowsのインストーラなども揃っています。

 本稿で検証に使ったDebian GNU/Linux(以下、Debian)では、4.0系列の最新版がインストールされます。rootでapt-getコマンドを次のように実行すれば、最小限必要なMySQLのパッケージがインストールされます。

# apt-get install mysql-server

 インストール時の設定は後述するので、とりあえずデフォルトのままで構いません。インストールされるパッケージは、次のとおりです。

mysql-server
mysql-common
mysql-client
libmysqlclient12

 また、RPMパッケージシステムを使うディストリビューションでは、次のパッケージをインストールすれば良いでしょう。

MySQL-server
MySQL-client
MySQL-shared/MySQL-shared-compat
MySQL-devel

 MySQL-shared、MySQL-shared-compatについては、環境によって依存関係が生じる場合どちらかを選択してインストールします。

MySQLサーバーの起動と確認

 Debianでは、MySQLのパッケージをインストールすると、自動的にMySQLサーバーが起動されるようになっています。サーバーの停止、再起動に利用するコマンドを表1にまとめましたので、覚えておきましょう。

表1 DebianのMySQLサーバー用コマンドの実行方法
(実行にはroot権限が必要)
サーバーの起動 /etc/init.d/mysql start
サーバーの停止 /etc/init.d/mysql stop
サーバーの再起動 /etc/init.d/mysql restart

 MySQLサーバーが起動されている場合は、ユーザーで実行例1のように操作し、testデータベースが表示されれば、サーバー起動はOKです。ちなみにtestデータベースは、文字どおりテスト用としてMySQLのデフォルトデータベースとして用意されています。このMySQLの管理モードは、quitコマンドで終了します。

実行例1 MySQLの起動を確認
mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 4.0.22-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+----------+
| Database |
+----------+
| test     |
+----------+
1 row in set (0.01 sec)

mysql> quit

 また、「日本MySQLユーザ会」にMySQLの日本語マニュアルが紹介されていますので、実行する管理コマンドの意味などは、必ずそれらマニュアルも参照してください。


次回(8月22日公開予定)はインストールしたMySQLを設定していく。最小限の設定として、セキュリティ強化とアクセスの制限、データベースで日本語を利用可能にする。また、MySQLとOOoとのTCP/IP接続を許可する設定も加える。
このページで出てきた専門用語
Firebird
ボーランドの商用RDBMSであるInterBaseを起源とする、オープンソースのSQLデータベースエンジン。

ODBC
データベース接続用のソフトウェアドライバ。

JDBC
Javaで記述されたデータベース接続用ドライバ。JavaランタイムJREが必要。

まずはJDBCで紹介しましょう
ODBCとJDBCでは細かな違いがあり、どちらが良いとは言い切れないところがあるので、ODBCもいずれ連載で取り上げ、その時点で両者の違いを比較する。


UNIX USER 9月号表紙 最新号:UNIX USER 9月号の内容

第1特集
俺のサーバー、白か玄

第2特集
セキュアを極めるLDAPサービス認証統合−後編

[特別企画]
・Qt 4リリース! 導入された5つの新機能
[短期集中連載]
・仮想マシンモニター Xen 3.0の全貌


[鎌滝雅久,UNIX USER]

Copyright(c)2010 SOFTBANK Creative Inc. All rights reserved.




キャリアアップ



エンタープライズ・ピックアップ

news004.jpg 世界で勝つ 強い日本企業のつくり方:利用契約の検討――グローバルクラウドで失敗しないために(前編)
2010年以降、クラウドサービスの利用がさらに加速する。サービスを利用する企業はプロバイダーのデータセンターに預けた自社情報を保護するために、法的な要素を理解しておかなければならない。企業が注意を払うべき法的な検討事項を整理する。

news001.jpg IT投資の新方程式:「Twitter使ってます」――現役MS社員が“社員力”を語る(前編)
マイクロソフトが掲げるプロモーションメッセージ「社員にチカラを。ITで企業力を。(以下、BIEB)」からは、ITで社員の生産性を向上することが業績の拡大につながる、といったニュアンスを感じる。そこで気になるのが「じゃあ、マイクロソフトの社員自身はどうなのよ?」ということ。3人の現役MS社員により実態が明らかになる……?

news010.jpg 産業構造を変えるか:「住宅クラウド」の衝撃
住宅都市工学研究所が進める「住宅クラウド」は、クラウドが企業のIT領域にとどまらず、ビジネスのやり方自体を変える可能性を示している。

news010.jpg オルタナティブな生き方 栗原進さん:ネットでリアルを楽しくしたい
SE出身の企業広報マンでありながら、趣味は落語で憧れの人はインディ・ジョーンズとアナログ全開の栗原さんに、ブログを書く理由やネットからはじまるコミュニケーションについて伺った。

news001.jpg 最強最速アルゴリズマー養成講座:トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター
プログラミングにおける重要な概念である「探索」を最速でマスターするために、今回は少し応用となる探索手法などを紹介しながら、その実践力を育成します。問題をグラフとして表現し、効率よく探索する方法をぜひ日常に生かしてみましょう。