どうも、リーフです!
今回から前回設定したCentOSに、LAMP環境を構築していきたいと思います。
まずは、CentOS6.7にMySQL4.0.27をインストールする方法を紹介していきたいと思います。
前回の記事はこちら↓
MySQLのバージョンが「4.0.27」と古い為、今回はソースからインストールしていきます。
インストールの前準備
インストール作業を開始する前に、必要なものを準備していきます。
ソースのダウンロード
まずは適当なディレクトリに移動してから、ソースをダウンロードします。
旧バージョンのMySQLのダウンロードは、MySQL Archives – dbstudy.infoを参考にして下さい。
1 2 | [root@test ~]# cd /tmp [root@test tmp]# wget http://dbstudy.info/mysql/4.0.27/mysql-4.0.27.tar.gz |
※CentOSを「Minimal」でインストールした場合、「wget」コマンドが使用できません。
下記のようなエラーが出た場合は「wget」をインストールしてから、ソースをダウンロードします。
1 | -bash: wget: command not found |
wgetのインストール
1 | [root@test ~]# yum -y install wget |
ソースの解凍
ダウンロードしてきたソースは「tar.gz」で圧縮されているので、解凍作業をします。
1 | [root@test tmp]# tar zxvf mysql-4.0.27.tar.gz |
インストール作業に必要なものをインストール
インストール作業に必要なものをインストールしておきます。
1 2 3 | [root@test ~]# yum -y install ncurses-devel [root@test ~]# yum -y install compat-gcc-34 [root@test ~]# yum -y install compat-gcc-34-c++ |
MySQL実行ユーザーを作成
MySQL用のユーザーアカウントを作成します。
パスワードは任意のパスワードを設定しておきます。
1 2 3 | [root@test ~]# groupadd mysql [root@test ~]# useradd -g mysql mysql [root@test ~]# passwd mysql |
インストール用のディレクトリ作成
インストールするディレクトリを作成しておきます。
インストール時にこのディレクトリを指定して、インストールします。
1 | [root@test ~]# mkdir /usr/local/mysql-4.0.27 |
コンパイル時のエラーを回避
コンパイル時に「my_fast_mutexattr」が定義されていないとエラーが出る場合がある為、
定義を強制してエラーを回避します。
解凍したディレクトリに移動して「mysys/my_thr_init.c」ファイルを修正します。
手順1:ファイルを開く
1 2 | [root@test ~]# cd /tmp/mysql-4.0.27 [root@test mysql-4.0.27]# vi ./mysys/my_thr_init.c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | /* Copyright (C) 2000 MySQL AB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version. ~~省略~~ /* Functions to handle initializating and allcationg of all mysys & debug thread variables. */ #include "mysys_priv.h" #include <m_string.h> |
手順2:ファイルを修正する
以下のコマンドを実行して、検索を行い修正します。
1 | /my_fast_mutexattr |
1 2 3 4 5 6 7 | #ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP pthread_mutexattr_t my_fast_mutexattr; #endif ↓変更 //#ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP pthread_mutexattr_t my_fast_mutexattr; //#endif |
インストール作業
インストール前準備が完了しましたので、実際にインストール作業へと移りたいと思います。
ソースコンパイルからインストールまで
今回はソースからインストールを行う為、ソースのコンパイルが必要になります。
下記手順に従ってコンパイルしていきます。
手順1:Makefileの作成
コンパイルを行うためにMakefileを作成します。
色々なオプションを付加できるので、それぞれの環境にあったオプションで作成しましょう。
1 | [root@test mysql-4.0.27]# CC=/usr/bin/gcc34 CXX=/usr/bin/g++34 ./configure --prefix=/usr/local/mysql-4.0.27 --with-charset=sjis --with-extra-charsets=all --with-mysqld-user=mysql --with-named-thread-libs="-lpthread" |
今回付加したオプションは下記のような感じ
1 2 3 4 5 6 7 8 | CC=/usr/bin/gcc34 CXX=/usr/bin/g++34 ./configure --prefix=/usr/local/mysql-4.0.27 --with-charset=sjis --with-extra-charsets=all --with-mysqld-user=mysql --with-named-thread-libs="-lpthread" |
Makefileの作成が正常に終了すると、「Thank you for choosing MySQL!」と表示されます。
エラーが表示された場合は、オプションなどを見直しましょう。
1 2 3 4 5 6 7 8 9 10 | MySQL has a site at http://www.mysql.com/ which carries details on the latest release, upcoming features, and other information to make your work or play with MySQL more productive. There you can also find information about mailing lists for MySQL discussion. Remember to check the platform specific part of the reference manual for hints about installing MySQL on your platform. Also have a look at the files in the Docs directory. Thank you for choosing MySQL! |
手順2:コンパイルを行う(Makefileの実行)
先ほどのMakefileを使用してコンパイルを行う為に、makeコマンドを実行します。
1 | [root@test mysql-4.0.27]# make |
必要なライブラリなどが不足している場合、エラーが発生する場合があります。
その場合は、不足しているライブラリをインストールしましょう。
1 2 3 4 5 | ~~省略~~ /bin/mv binary-configure-t binary-configre make[3]: Leaving directory `/tmp/mysql-4.0.27/support-files' make[2]: Leaving directory `/tmp/mysql-4.0.27/support-files' make[1]: Leaving directory `/tmp/mysql-4.0.27' |
手順3:インストールの実行
コンパイルが正常に完了したら、インストールを行っていきます。
1 | [root@test mysql-4.0.27]# make install |
こちらもエラーが発生していない事を確認しましょう。
1 2 3 4 5 | ~~省略~~ /usr/bin/install -c 'mysql.server' '/usr/local/mysql-4.0.27/share/mysql/mysql.server' make[3]: Leaving directory `/tmp/mysql-4.0.27/support-files' make[2]: Leaving directory `/tmp/mysql-4.0.27/support-files' make[1]: Leaving directory `/tmp/mysql-4.0.27/support-files' |
シンボリックリンクを指定
シンボリックリンクを設定して使用しやすくします。
1 2 3 4 | [root@test mysql-4.0.27]# ln -sfn /usr/local/mysql-4.0.27 /usr/local/mysql [root@test mysql-4.0.27]# ln -s /usr/local/mysql-4.0.27/bin/mysqld_safe /usr/local/bin/mysqld_safe [root@test mysql-4.0.27]# ln -s /usr/local/mysql-4.0.27/bin/mysqladmin /usr/local/bin/mysqladmin [root@test mysql-4.0.27]# ln -s /usr/local/mysql-4.0.27/bin/mysql /usr/local/bin/mysql |
my.cnfの作成
MySQLの制御を行う為の設定ファイルを作成します。
「my-medium.cnf」を「my.cnf」としてコピー
1 2 3 | [root@test mysql-4.0.27]# cd /usr/local/mysql-4.0.27/share/mysql [root@test mysql]# cp ./my-medium.cnf /etc/my.cnf cp: overwirte `/etc/my.cnf'? y |
my.cnfの編集
手順1:ファイルを開く
1 | [root@test mysql]# vi /etc/my.cnf |
1 2 3 4 5 6 | # Example MySQL config file for medium systems. # # This is for a system with little memory (32M - 64M) whrere MySQL plays # an important part, or systems up to 128M where MySQL is used together with # other programs (such as a web server) ~~省略~~ |
手順2:ファイルを修正する
今回は、文字コードとして「EUC-JP」を使用する為の設定を追加しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | [client] #password = your_password port = 3306 socket = /tmp/mysql.sock ↓追加 default-character-set=ujis [mysqld] port = 3306 soket = /tmp/mysql.sock skip-locking key-buffer = 16M max-allowed_packet = 1M table_cache = 64 soft_buffer_size = 512K net_buffer_length = 8K myisam_soft_buffer_size = 8M ↓追加 default-character-set=ujis log-error=/var/log/mysql/myerror.log [mysqldump] quick max_allowed_packet = 16M default-character-set=ujis ↓追加 default-character-set=ujis [mysql] no-auto-rehash #Remove the next comment character if you are not familiar with SQL #safe-updates ↓追加 default-character-set=ujis |
mysqlログディレクトリ作成
MySQLのエラーログなどを保存するディレクトリを作成します。
エラーが発生した場合などは、このディレクトリ内に保存される
ログファイルを見る事で解決できる場合があります。
1 | [root@test mysql]# mkdir /var/log/mysql |
自動起動の設定・アクセス権限の設定
サービスの自動起動の設定をしていきます。
この設定を行うと、OSの再起動時に自動的にサービスが起動するようになります。
まず、下記コマンドで起動スクリプトを配置します。
1 | [root@test mysql]# cp ./mysql.server /etc/rc.d/init.d/mysqld |
先ほど配置した起動スクリプトに実行権限を付与します。
1 | [root@test mysql]# chmod 755 /etc/rc.d/init.d/mysqld |
自動起動の設定を行います。
list | サービスの自動起動設定の状態を確認する。 |
---|---|
add | サービスの自動起動設定が存在しない場合追加する。 |
on | サービスの自動起動設定を有効にする。 |
1 2 3 4 | [root@test mysql]# chkconfig --list mysqld service mysqld supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add mysqld') [root@test mysql]#chkconfig --add mysqld [root@test mysql]#chkconfig mysqld on |
正常に自動起動の設定がされた場合、下記のように表示されます。
1 2 | [root@test mysql]# chkconfig --list mysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
MySQLの初期DBを作成します。
1 | [root@test mysql]# cd /usr/local/mysql-4.0.27 |
1 | [root@test mysql-4.0.27]# ./bin/mysql_install_db --user=mysql |
mysqlフォルダの権限をrootからmysqlユーザーに変更します。
1 2 3 | [root@test mysql-4.0.27]# chown -R root /usr/local/mysql [root@test mysql-4.0.27]# chown -R mysql /usr/local/mysql/var [root@test mysql-4.0.27]# chown -R mysql /usr/local/mysql |
サービスの起動
下記コマンドでmysqlサービスを実行します。
1 | [root@test mysql-4.0.27]# /etc/rc.d/init.d/mysqld start |
まとめ
今回は、CentOS6.7にMySQL4.0.27をインストールする方法を紹介しました。
この他にもインストールする方法やオプションの設定など色々ありますが、
自分はこの設定にしました。
よろしければ、こちらもどうぞ↓
それでは、今日はこの辺で失礼します。