第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 |
次に、適当なディレクトリにダウンロードしたtarファイルを展開します。
# tar xvfz mysql-3.23.28-gamma.tar.gz |
展開されたディレクトリに移動しconfigureを実行します。
# cd mysql-3.23.28-gamma/ |
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 で、/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 |
これで、起動の準備が整いました。下記のようにして起動します。
# /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 |
で実行可能にし、/etc/rc.d/init.dにファイルを移動します。
# mv rc.mysql /etc/rc.d/init.d/ |
ただし、このままではマシンを再起動しても有効に働きません。/etc/rc.d/rc2.d/にリンクを張っておきましょう。
# cd /etc/rc.d/rc2.d/ |
この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 |
●そのほかのUNIXバイナリ
MySQLの日本代理店であるソフトエージェンシーのサイトには、さまざまなプラットフォームに合わせたバイナリファイルがおかれています。
http://www.softagency.co.jp/mysql/bin/
新バージョンリリース後も比較的早く、新しいパッケージが提供されます。また、Debian、Solaris、Cobalt Qube2用なども用意されていますので、一度のぞいてみてください。
次にインストールしたMySQLがちゃんと稼働しているか確認してみましょう。ここでは、UNIXのshellを使った管理に慣れるため、簡単なコマンドを実行してみましょう。
まず、デフォルトでどんなテーブルが存在しているのか確認してみましょう。
# /usr/local/bin/mysqlshow |
と入力して(rpmでインストールした場合は# /usr/bin/mysqlshowになります)、
+-----------+ |
と返ってくれば成功です。ちなみに上記のデータベースの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つの主なリレーショナルデータベースを紹介する。製品導入の際の参考にしてほしい |
|
|
ホワイトペーパー(TechTargetジャパン)
- natテーブルを利用したLinuxルータの作成・2 (2010/3/11)
IPパケットのディスティネーションアドレスを書き換える「DNAT」を使って、透過型プロキシを構築します - 一歩進んだ監視のカスタマイズ (2010/3/3)
スクリプトの実行結果などを取得できるユーザーパラメータを用いて、自分のニーズにぴったり合った監視を実現 - OSSライセンス順守の第一歩 (2010/2/18)
企業として、OSSライセンス違反を犯さないためには、どのような手順が必要か、いくつかアドバイスします - 無視できないフラグメンテーション問題への解答は? (2010/2/10)
今回は、メモリコンパクション、そしてメモリバリアを発行するシステムコールという2つのパッチについて深く紹介します
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |






