CentOS 5 の場合、yumを使って デフォルトでインストールされるのは、MySQL5.0系です。
また、CentOS 6 Scientific Linux 6 の場合、デフォルトでMySQL5.1系がインストールされます。
ここでは、最新バージョンの5.5系をインストールしてみます。
- 目次
- 履歴
2011年10月28日 初版
MySQL5.5系をインストール
MySQL5.5系のあるリポジトリをインストールします。
以下の作業は、既に php5.3系の最新版をインストールする でも行っています。既に php5.3系の最新版をインストールする で実施された方は、不要です!!
もしも php5.3系の最新版をインストールする で実施をせずに、このページをみている方は、以下の作業が必要になるでしょう。
CentOS 5
|
CentOS 6 Scientific Linux 6
|
また、ファイル名は、
- ius-release-x-x.noarch.rpm
- epel-release-x-x.noarch.rpm
※32bit版と64bit版では、ファイル名が異なることがあります。
(以下のサイトでファイルの一覧表示が確認できます。)
CentOS 5
32bit版:http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/
64bit版:http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/
CentOS 6 Scientific Linux 6
32bit版:http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/
64bit版:http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/
一つ一つ確実にインストールしたいなら、以下の順番で行います。
Scientific Linuxのバージョンによっては、以下のような警告がでることがあります。
特にこの警告は、致命的な問題ではないので、先へ進みましょう。
|
現在、インストール済のMySQLをアンインストールします。
- 現在のインストール済MySQLパッケージを確認する。
$ rpm -qa | grep mysql mysql-5.1.52-1.el6_0.1.i686 mysql-libs-5.1.52-1.el6_0.1.i686 mysql-devel-5.1.52-1.el6_0.1.i686 php53u-mysql-5.3.8-2.ius.el6.i686
- インストール済mysqlパッケージをすべて削除する。
※php系は、除きます。
$ yum erase mysql mysql-devel mysql-libs ... Installed size: 2.7 M Is this ok [y/N]: y ... Complete! $
ここで、phpXX-mysqlまで、一旦、削除してしまうかもしれないので注意してください。
後で、phpからつながらないなども問題が発生します。
mysqlのインストールを終えたら、再度、phpXX-mysqlをインストールしておきましょう。
MySQL5.5系をインストールする。
|
インストール時は、以下のように指定します。
|
最後にバージョンチェック
|
Distrib 5.5.xx と出力されれば、OKですね。
|
インストールをちゃんとやっておかないと、あとでphpから接続できなくなってしまいます。
MySQL5.5系の初期設定
MySQLの初期設定は、初期設定(/etc/my.cnf)で行います。
|
上記内容は、あくまで参考までに。各サーバーの環境によって設定する内容も異なりますから、確認の上、編集しましょう。
編集を終えたら保存します。
table_open_cache と table_definition_cache へ変更されています。
default-character-setは、5.5系から
character-set-server へ変更されています。
MySQL5.5系を起動する
ここまでできたら、MySQLを起動しましょう。
|
・・・・と、いきなりエラーが発生しました。
デフォルトでは、/var/log/mysqld.log にエラー情報は出力されます。
ここでのエラー情報は、
|
赤文字のエラー情報を見ると、./mysql/host.frm というファイルが見つからなかった・・・ということのようです。
このファイルは、デフォルトの設定であれば、/var/lib/mysql の配下に無いといけません。
|
存在してます。が、所有者がrootになっていて、書き込みが所有者+グループになっています。
mysqld が、ユーザ : mysql , グループ : mysqlで起動されますから、つまりは、host.frmというファイルを開けなかった・・・ということのようです。
そこで、/var/lib/mysql というディレクトリとその配下の全ての所有者をmysqlへ変更します。
|
変更を終えたら、mysqlを起動してみます。
|
できました。
起動が正しくできたら、再起動しても起動するように設定しましょう。
|
ユーザとデータベースを作成
ここまででMySQLは、使えます。
ここからは、簡単ながら、データベースをユーザを作成してみましょう。
( ここの設定は、5.1系から何も変わっていません。 )
mysqlサーバーの管理者でmysqlへログインする
|
mysql> のプロンプトが表示されてばOKです。
以降の説明は、mysql>のプロンプトから、mysqlのsql分を発行して、mysqlサーバーの設定を行っていきます。
そのため、必ず最後に;の文字列を入力することをお忘れなく。
mysqlサーバーの管理者パスワードを設定する
|
上記では、hogehogeがパスワードになります。
不要なmysqlのデフォルトユーザを削除する
|
最初のselect user … で、現在登録されているユーザをすべて表示しています。
この中で、userの欄に空白があるものがありますから、この空白のユーザは、まず、削除しておきます。
delete from mysql.user … で、実際に削除しています。
※特に空白のユーザ名がない場合は、この操作は不要です。
mysqlのユーザを追加する
|
hoge@localhostで、hogehogeでログインできるようになります。
また、他のホストからのアクセスを許可したい場合は、ここで指定している host=”localhost” の localhostを変更し、上記のイメージでSQLを発行します。
例)
host2.exmapl.com というホストから許可したい場合は、以下のようにすれば良いです。
|
また、このホスト名は、IPアドレスを指定することもできます。
例えば、ローカルLAN内の”192.158.1.128″からのアクセスを許可したい場合は、以下のようにすれば良いです。
|
データベースを追加する
|
最初にshow databases;で、現在登録されているデータベースを確認します。
この中で、testがあれば、それは、デフォルトで設定されているテスト用のデータベースなので、ここでは、次のdrop database test;で削除しています。
最後にCREATE DATABASE hogedb;で、hogedbというデータベースを作成しています。
mysqlの新規ユーザが新規データベースを操作できるようにする
|
上記の設定で、hogedbへのフルアクセスをhoge@localhostが行えるようになります。
|
|
最後に今まで編集したmysqlの情報を更新する
|
この作業で、現在動作中のサーバーの情報も更新されます。
今回、ちょっと、初期化のところで、躓きました。
順番どおりにやって、一つ一つ確認してから作業を進めれば良かったんですが、mysqld をいきなり起動してしまったので、何が悪いのか理解するまで、ちょっと、時間がかかりました。
本来なら、まっさらのMYSQLの場合、インストールを終えたら、以下のコマンドで初期化すべきでした。
( アップグレードの場合は違いますから、注意しましょう。 )
|
また、5.1系からするとパラメータもいくつか変わったようなので、注意が必要です。
詳しくは、MySQL5.5 で削除された機能一覧(おまけ) を参照の上、設定ファイル(/etc/my.cnf)の編集など行いましょう。
ともあれ、これで5.5系を使えるようになりました。
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
コメントを投稿 :