MySQLのインストール(on 6.3)

MySQLは[minimal] インストールでは入っていないようだが、yumでインストールできる。
しかし、使いたいバージョンになるとは限らない。
CentOS6.3からだと、MySQL5.1系が入るようだが、それだと新しすぎるので、5.0系のモノを探して、インストールすることにする。
*あまりバージョンが離れたものだと、データの移行に不安があるし・・・

ひとまず、下記のサイトを参考にやってみよう。
http://www40.atwiki.jp/sanosoft/?cmd=word&word=CentOS&type=normal&page=MySQL5.0%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
http://stellecadente.b.sourceforge.jp/2013/08/09/yum%E3%81%AB%E3%82%88%E3%82%89%E3%81%AA%E3%81%84mysql%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%EF%BC%88centos-6-4%EF%BC%89/

1.MySQL用アカウントの作成
yumからだと自動でやってくれていたようだが、ソースからインストールする場合は、事前に作成しておく必要があるようだ。

ユーザー名:mysql
グループ名:mysql

これで作っておこう。

groupadd mysql
useradd -g mysql -d /usr/local/mysql -s /bin/sh mysql

先にグループ”mysql”を作っておき、useraddコマンドでユーザの作成、グループへの所属、ホームディレクトリの設定、ログインシェルのパスを一気に指定する。

上記コマンドで、”/usr/local/mysql“にmysqlユーザ用のホームディレクトリが作成され、なおかつ所有権もmysqlユーザ&mysqlグループとなっている。

2.MySQLの入手
http://dev.mysql.com/downloads/mysql/ にアクセスし、ダウンロードしたいバージョンを選ぶ。
2013/12/17現在だと、5.6.15が最新版になっているので、”Archived versions”のリンクを探す。
さらに、”MySQL Community Server”のリンクを探すと・・・
プルダウンで、バージョンとプラットフォームを選べる画面に辿り着く。

幸い、移行元と全く同じ、”5.0.67″が選べるので、それを選んでおく。
プラットフォームは「Linux – Generic」を選ぶと、コンパイル済みのものが入手できるようだ。
ソースからコンパイルするなら、プラットフォームは、「Source Code」を選ぶ。
それでも、ファイルがたくさん並んでいるので、「Generic Linux (Architecture Independent), Compressed TAR Archive」を探して、Downloadボタンをクリック。

ファイルをダウンロードしたら、CentOS上にFTPでアップし、作業しやすいディレクトリに移しておく。
ファイルを移したら、下記コマンドで解凍する。
tar xvfz mysql-5.0.67.tar.gz
解凍したら、出来上がったディレクトリに移動。
cd mysql-5.0.67

「configure」というシェルが用意されているので、それを実行する。色々とオプションが付けられるようだが、ひとまずは下記のように設定してみる。

./configure --prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static \
--enable-assembler \
--enable-thread-safe-client \
--with-extra-charsets=complex \
--with-charset=utf8 \
--with-readline \
--with-mysqld-user=mysql \
--with-libwrap=/usr \
--with-zlib-dir=/usr \
--enable-local-infile \
--with-pic \
--with-fast-mutexes \
--with-big-tables \
--with-archive-storage-engine \
--with-blackhole-storage-engine \
--with-ndbcluster \
--with-csv-storage-engine \
--with-example-storage-engine \
--with-federated-storage-engine \

--with-innodbが、この時点で色々ライブラリをチェックするようだが、”no”の文字が目立つ。

Minimalでインストールしたから、かなり足りてないライブラリがあるのかもしれない。
ソースからコンパイルするのはハードルが高い・・・

やりたいのは、データを移行して、Movable Typeなどのテスト環境を作りたいので、ソースでコンパイルする方法は今後の課題として、yumでインストールする。
参考:
http://w.builwing.info/2013/08/19/mysql%E3%81%A8phpmyadmin%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/

yum -y install mysql-server
/etc/rc.d/init.d/myslqd start
chkconfig mysqld on
比較的情報が新しいので、上記のサイトを参考にした。
調べると、インストール後、初回起動前に設定ファイルをいじる例がよく紹介されているのだが、意外とそこでハマることが多い。
上記の例だと、一旦デフォルトで起動させてから、必要に応じて調整する方法もアリのようだ。これで、mysqlが起動したので、
mysql -u root
でmysqlに接続し、rootのパスワードを変え、匿名ユーザを削除しておく。

set password for root@localhost=password('yourpassword');
set password for root@'hostname'=password('yourpassword');
set password for root@'127.0.0.1'=password('yourpassword');
delete from mysql.user where user='';

さらに、phpMyAdminをインストール。yumでインストールできるが、epelリポジトリから取ってくる必要があるようだ。
epelリポジトリを使う方法は下記を参照されたい。
http://w.builwing.info/2013/08/16/centos6-4%E3%81%ABepelrepoforgeremi%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AE%E8%BF%BD%E5%8A%A0/

リポジトリが追加できたら、

yum --enablerepo=epel install -y  phpMyAdmin php-mysql php-mcrypt
でインストールし、
vi /etc/httpd/conf.d/phpMyAdmin.conf
でphpMyAdminの設定ファイルを触り、
Allow from 127.0.0.1
という記述があるので、その後に
Allow from 192.168.3. → 実際にphpMyAdminを使うPCのあるネットワークアドレスを指定

と設定する。

これで、一応phpMyAdminからアクセスすることが出来た。

この後、Movable Type用にデータベースを作成し、データをインポートするのだが、現状でMySQLのcharsetはlatin1となっている。
my.confをいじる方法などがググると出てくるが、設定の項目名がMySQLのバージョンによって違ったりして、うっかりいじるとMySQLが起動できなくなったりするので、
MySQLのcreate databaseコマンドでMovable Type用のデータベースを作成するときに、そのデータベースの文字コードを設定することにする。
create database dbname default character set utf8;

この後、移行元でバックアップしたダンプファイルを
mysql -u root -p hoge< /home/hoge/dump.sql   #hogeはリストア対象のデータベース
のコマンドでリストアしてみたが、日本語のデータもちゃんとリストア出来たようだ。

 

コメント

タイトルとURLをコピーしました