【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷

第1回 MySQLインストール完全ガイド

鶴長 鎮一
MySQLユーザ会
2001/1/10

インストールをマスターしよう

 これからインストール方法を解説していきますが、以降の作業はサーバにroot権限があることを前提としています(“#”はスーパーユーザーで実行されることを前提としたプロンプトです)。レンタルサーバを使用されている方で、root権限を持てない場合でも、契約されているディスク領域に一般ユーザーでインストールすることはできます。しかし、当然自身のユーザー権限で動かす以上リスクもつきまといます。なるべくサーバ管理者に相談し、MySQLをサービス提供してもらえるようにしましょう。

MySQL ABのホームページ
http://www.mysql.com/downloads/

 MySQLは現在“3.23.29a-gamma”までリリースされています(2000年12月23日時点)。alpha、betaの段階を終わってgammaになっており、使用にはほとんど問題ありません。また、さまざまなバイナリファイルが用意されているので、makeをしなくてもすぐ導入できます。もちろんバイナリの中にはRPMファイルも用意されています。ですが、まずはソースからのインストールを見て、どのディレクトリに何が格納されるのかを知るのも、とても有意義なことです。rpmコマンドを使用される方も、以下の解説を読み飛ばさず、ぜひご一読ください。

ソースからのインストール

 まずMySQL ABのホームページでDownloads→MySQL 3.23を選択します。ソースファイルはSource downloads for 3.23.28-gammaの項目中のTarballで取得できます。

 MySQLはrootでも起動できますが、昨今のネットワーク事情を考えると、専用ユーザーを使用した方がより安全です。そこでグループとユーザーを追加します。ユーザーホームはMySQLのデータディレクトリ/usr/local/varを指定します。

# groupadd mysql
# adduser -g mysql -d /usr/local/var mysql

 次に、適当なディレクトリにダウンロードしたtarファイルを展開します。

# tar xvfz mysql-3.23.28-gamma.tar.gz

 展開されたディレクトリに移動しconfigureを実行します。

# cd mysql-3.23.28-gamma/
# ./configure --with-charset=ujis -with-extra-charsets=all --with-mysqld-user=mysql

 configureで指定したオプションは次のような意味です。

--with-charset
デフォルトで使用される文字コードを指定します。EUCならujis、Shift-JISならsjisになります。


--with-extra-charset
デフォルトで指定された文字コード以外をサポートしたい場合の指定です。"--with-extra-charset=ujis,sjis,..."のように個別に指定できますが、ここでは“all”とします。このオプションを指定することで、makeをし直さずとも、異なる文字コードでサーバを起動することができます。


--with-mysqld-user
MySQLデーモンを起動するユーザーの指定で、例では先ほど作成したユーザー“mysql”にしています。

 うまくいったら、

# make
# make install

を実行します。

 make install で、/usr/local/ディレクトリ下にプログラムやファイルが以下のようにインストールされます。

ディレクトリ
保存されるファイル
/usr/local/libexec/mysqld MySQLサーバ
/usr/local/bin/ コマンド類
/usr/local/lib/mysql/ ライブラリ
/usr/local/include/mysql/ includeファイル
/usr/local/var/ データベース保存先

 次にデータベースを初期化し、その後データディレクトリのオーナーを先ほど作成したmysqlユーザーに修正します。

# /usr/local/bin/scripts/mysql_install_db --user=mysql
# chown -R mysql /usr/local/var
# chgrp -R mysql /usr/local/var

 これで、起動の準備が整いました。下記のようにして起動します。

# /usr/local/bin/safe_mysqld --user=mysql &

 再起動のたびにこのコマンドを手打ちするのも大変なので、/etc/rc.d/rc.localにこの1行を追加するか、rcスクリプト(起動スクリプト)を用意します。展開されたソースの中(support-files)にrcスクリプトのひな型(mysql.server)がありますので、そちらを使用します。mysql.serverをrc.mysqlなどの適当な名前に変更します。

# cd support-files
# mv mysql.server rc.mysql
# chmod +x rc.mysql

で実行可能にし、/etc/rc.d/init.dにファイルを移動します。

# mv rc.mysql /etc/rc.d/init.d/

 ただし、このままではマシンを再起動しても有効に働きません。/etc/rc.d/rc2.d/にリンクを張っておきましょう。

# cd /etc/rc.d/rc2.d/
# ln -s ../init.d/rc.mysql S90mysql

 このrcスクリプトを使うことで、起動時のオプションを/etc/my.cnfファイルに記述する形で指定できます。support-filesディレクトリにはさまざまな場合に応じたcnfファイルが用意されています。huge→large→medium→smallの順で規模を選べますが、大きなデータベースに合わせたcnfファイルは、当然ながら大容量のメモリを積んでいることを前提としています。

 適当なcnfファイルを選び、/etc/my.cnfにコピーします。

# cp my-XXX.cnf /etc/my.cnf

 とりあえず、MySQLを動かしたいという人は/usr/local/bin/safe_mysqld --user=mysql &で十分です。後々データベースを最適に動作するように調整したい場合、接続クライアント数をデフォルトから増やしたい場合などには、「/etc/my.cnfファイルを書き換えることで対処できる」ということを覚えておいてください。

RPMパッケージによるインストール

 「ソースファイルからのインストールは面倒だ!」「アンインストールも簡単にしたい!」といったことは、rpmコマンドを備えたLinuxディストリビューションを使う人には当然のことです。

 MySQL ABのホームページ(http://www.mysql.com/downloads/)でDownloads→MySQL 3.23→Standard binary RPMsを選択することでRPMファイルを取得できますが、筆者が試した限りでは、TurboLinux Workstation 6やRed Hat Linux 6.0Jでは/usr/bin/perlのファイル名の問題でインストールが完了しません。

 そこで、MySQL ABにおかれているSRPMファイルから--default-charset=ujisを有効にして作成したRPMファイルを以下のURLに用意しました。

ダウンロードページ
注:2000年12月18日時点の最新版3.23.38-gammaを使用しています。

 ではインストールです。

# rpm -ivh MySQL-3.23.28-1.i386.rpm
# rpm -ivh MySQL-client-3.23.28-1.i386.rpm
# rpm -ivh MySQL-bench-3.23.28-1.i386.rpm
# rpm -ivh MySQL-devel-3.23.28-1.i386.rpm
# rpm -ivh MySQL-shared-3.23.28-1.i386.rpm

そのほかのUNIXバイナリ

 MySQLの日本代理店であるソフトエージェンシーのサイトには、さまざまなプラットフォームに合わせたバイナリファイルがおかれています。

http://www.softagency.co.jp/mysql/bin/

 新バージョンリリース後も比較的早く、新しいパッケージが提供されます。また、Debian、Solaris、Cobalt Qube2用なども用意されていますので、一度のぞいてみてください。

インストール後の動作確認

 次にインストールしたMySQLがちゃんと稼働しているか確認してみましょう。ここでは、UNIXのshellを使った管理に慣れるため、簡単なコマンドを実行してみましょう。

 まず、デフォルトでどんなテーブルが存在しているのか確認してみましょう。

# /usr/local/bin/mysqlshow

と入力して(rpmでインストールした場合は# /usr/bin/mysqlshowになります)、

+-----------+
| Databases |
+-----------+
| mysql     |
| test      |
+-----------+

と返ってくれば成功です。ちなみに上記のデータベースのtestはテスト用で、ベンチマークの測定などに用いられます。必要なければ削除しても構いません。mysqlはMySQLデーモンが使用する設定テーブルです。MySQLはデータベースに接続するユーザーやホストの管理といった特権情報も自身のデータベースを用いています。データベースにアクセスするユーザーおよびホストの追加、削除、更新を行いたいときは、このデータベースに対してINSERTしたり、UPDATE、DELETEなどのSQL文を実行します。PostgreSQLのcreateuserに慣れ親しんだ人には、少し違和感があるかもしれませんね。

今後の展開

 まずはインストールまでできました。初めにお話ししたように、今後はWeb+MySQLをさまざまなインターフェイスを通して構築していく過程を説明していきます。次回は管理コマンドなど、shellで使えるコマンドを説明した後、いよいよアプリケーションの作成に取りかかります。まずは「CGIといったらPerl」といわれるほどメジャーになったPerlで作ってみましょう。さらに、今後

  • Ruby+MySQL
  • PHP+MySQL
  • Java(Servlet/JSP)+MySQL

を予定しています。また、「こんなことをやってほしい」「MySQLの*について知りたい」などのご要望があれば、積極的に記事で取り上げていきたいと思います。ぜひ皆さんのご意見/ご希望をLinux Square掲示板にお寄せください。

2/2

Index
快速MySQLでデータベースアプリ!
  MySQLとは?
  動作環境と互換性
対応プラットフォーム
機能とSQL互換性
  MySQLのライセンスについて
インストールをマスターしよう
ソースからのインストール
RPMパッケージによるインストール
そのほかのUNIXバイナリ
  インストール後の動作確認
  今後の展開

連載 快速MySQLでデータベースアプリ!


 Linux Squareフォーラム データベース関連記事
連載:快速MySQLでデータベースアプリ!(全11回)
軽快な動作で知られるRDBMS、MySQLでDBアプリの構築を行う。MySQLのインストールに始まり、PerlやRubyなどのスクリプトでデータベースを操作する方法までを完全解説
連載:今から始める MySQL入門(連載中)
定番のLAMP(Linux+Apache+MySQL+PHP)構成でWebアプリケーション開発に挑戦! サンプルアプリの構築を進めながら、基礎知識や操作方法について詳しく解説する
連載:Oracleマイスター養成講座(全6回)
本連載では、Oracleの管理・チューニング方法を紹介していく。これからOracleを始める人、そしてOracleをより深く理解したい人のための、一歩踏み込んだ実用講座
連載:DB2マイスター養成講座(全7回)
本連載では、DB2 UDBの実践的な運用・管理方法を紹介していく。DB2を利用するうえで必要な知識を、実運用を前提にDB2のプロが解説
特集:エンタープライズ市場に向かうMySQL 5.0[前編]
MySQL 5.0の新機能をアルファ版でチェック
1月に公開された5.0アルファ版は大幅に拡張されており、エンタープライズ市場への進出を予感させる
特集:Linuxで動くリレーショナルデータベース・カタログ
データベースサーバのOSとしてLinuxを採用するケースが増えている。Linuxで動作する7つの主なリレーショナルデータベースを紹介する。製品導入の際の参考にしてほしい

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

ホワイトペーパーTechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)



- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています