レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

C5 C6 S6

mysql5.5系の最新版をインストールする

2011年10月28日 2015年5月16日
mysql install centos scientificlinux

CentOS 5 の場合、yumを使って デフォルトでインストールされるのは、MySQL5.0系です。
また、CentOS 6 Scientific Linux 6 の場合、デフォルトでMySQL5.1系がインストールされます。
ここでは、最新バージョンの5.5系をインストールしてみます。

MySQL 5.5では、InnoDBの速度が向上したということで、MyISAM とほぼ同等レベルまで引き上げられたらしいです。 今まで、速度の問題からMyISAMを仕方なく使っていた方には朗報でしょう。また、5.5 以降のデフォルトのストレージエンジンが InnoDB になります。(それまでは、デフォルトのストレージエンジンは MyISAM でした。)

MySQL5.5系をインストール

MySQL5.5系のあるリポジトリをインストールします。

以下の作業は、既に php5.3系の最新版をインストールする でも行っています。既に php5.3系の最新版をインストールする で実施された方は、不要です!!

もしも php5.3系の最新版をインストールする で実施をせずに、このページをみている方は、以下の作業が必要になるでしょう。

CentOS 5

$ wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/ius-release-1.0-10.ius.el5.noarch.rpm
$ wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/epel-release-5-4.noarch.rpm
$ rpm -Uvh *-release*rpm
  Preparing...                ########################################### [100%]
     1:epel-release           ########################################### [ 50%]
     2:ius-release            ########################################### [100%]

CentOS 6 Scientific Linux 6

$ wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/ius-release-1.0-10.ius.el6.noarch.rpm
$ wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/epel-release-6-5.noarch.rpm
$ rpm -Uvh *-release*rpm
警告: epel-release-6-5.noarch.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID 9cd4953f: NOKEY
準備中...                ########################################### [100%]
   1:epel-release           ########################################### [ 50%]
   2:ius-release            ########################################### [100%]

64bit版は、上記のwgetで指定しているURLのi386x86_64として同じ操作を行います。

また、ファイル名は、
  • ius-release-x-x.noarch.rpm
  • epel-release-x-x.noarch.rpm
と、x-xは、バージョン番号に相当しますので、必ず、最新のファイル名を以下のサイトで確認しましょう。
※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のバージョンによっては、以下のような警告がでることがあります。
特にこの警告は、致命的な問題ではないので、先へ進みましょう。

$ rpm -Uvh epel-release-6-5.noarch.rpm
警告: epel-release-6-5.noarch.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 9cd4953f
準備中...                ########################################### [100%]
   1:epel-release           ########################################### [100%]
$ rpm -Uvh ius-release-1.0-8.ius.el6.noarch.rpm
警告: ius-release-1.0-10.ius.el6.noarch.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 9cd4953f
準備中...                ########################################### [100%]
   1:ius-release            ########################################### [100%]

現在、インストール済のMySQLをアンインストールします。

  1. 現在のインストール済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
  2. インストール済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系をインストールする。

$ yum -y install mysql55 mysql55-devel mysql55-server mysql55-libs mysqlclient16
              :

Install       7 Package(s)

Total download size: 25 M
Installed size: 101 M
              :

Complete!

$ 
CentOS 5 の場合、mysqlclientは、現在(2012.07.06)、 mysqlclient15 となっています。
インストール時は、以下のように指定します。
$ yum -y install mysql55 mysql55-devel mysql55-server mysql55-libs mysqlclient15
...

最後にバージョンチェック

$ mysql --version
mysql  Ver 14.14 Distrib 5.5.16, for Linux (i686) using readline 5.1

Distrib 5.5.xx と出力されれば、OKですね。

ここで、 ここで、先にphpXX-mysqlまで、一旦、削除してしまった方は、再インストールしましょう。
$ yum -y install php53u-mysql
(ここでは、php5.3系をインストールしています。phpのバージョンにあわせてインストールします。)
インストールをちゃんとやっておかないと、あとでphpから接続できなくなってしまいます。

MySQL5.5系の初期設定

MySQLの初期設定は、初期設定(/etc/my.cnf)で行います。

$ vi /etc/my.cnf



[mysqld]
   :
   :

## デフォルトも文字コードをutf8に設定
## *** 5.1 -> 5.5 で 名前が変わったので注意 ***
## default-character-set = utf8   --- 5.1
character-set-server = utf8

## 最大のSQL待ち時間を120秒に設定
wait_timeout = 120

## 最大のセッション数を450に設定
max_connections=450
## スレッドキャッシュ数を450に設定
thread_cache=450
## テーブルキャッシュ数を450に設定
table_cache=450
## クエリーキャッシュサイズを64Mに設定
query_cache_size = 64M
   :
   :

上記内容は、あくまで参考までに。各サーバーの環境によって設定する内容も異なりますから、確認の上、編集しましょう。
編集を終えたら保存します。

table_cacheは、5.1系から、
table_open_cachetable_definition_cache へ変更されています。

default-character-setは、5.5系から
character-set-server へ変更されています。

MySQL5.5系を起動する

ここまでできたら、MySQLを起動しましょう。

$ /etc/rc.d/init.d/mysqld start
MySQL データベースを初期化中:  Installing MySQL system tables...
   :

111026 20:27:08 [Note] /usr/libexec/mysqld: Shutdown complete
   :

Installation of system tables failed!  Examine the logs in
/var/lib/mysql for more information.

You can try to start the mysqld daemon with:

    shell> /usr/libexec/mysqld --skip-grant &

and use the command line tool /usr/bin/mysql
to connect to the mysql database and look at the grant tables:

    shell> /usr/bin/mysql -u root mysql
    mysql> show tables

Try 'mysqld --help' if you have problems with paths.  Using --log
gives you a log in /var/lib/mysql that may be helpful.

Please consult the MySQL manual section
'Problems running mysql_install_db', and the manual section that
describes problems on your OS.  Another information source are the
MySQL email archives available at http://lists.mysql.com/.

Please check all of the above before mailing us!  And remember, if
you do mail us, you MUST use the /usr/bin/mysqlbug script!

                                                           [失敗]

・・・・と、いきなりエラーが発生しました。

エラーが発生した場合、必ずログファイルにエラー情報が残りますから、そのエラー情報を確認しましょう。
デフォルトでは、/var/log/mysqld.log にエラー情報は出力されます。

ここでのエラー情報は、

$ tail /var/log/mysqld.log
111026 21:14:42 InnoDB: Compressed tables use zlib 1.2.3
111026 21:14:42 InnoDB: Using Linux native AIO
111026 21:14:42 InnoDB: Initializing buffer pool, size = 128.0M
111026 21:14:43 InnoDB: Completed initialization of buffer pool
111026 21:14:43 InnoDB: highest supported file format is Barracuda.
111026 21:14:43  InnoDB: Waiting for the background threads to start
111026 21:14:44 InnoDB: 1.1.8 started; log sequence number 1595675
111026 21:14:44 [ERROR] /usr/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13)
111026 21:14:44 [ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13)
111026 21:14:44 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

赤文字のエラー情報を見ると、./mysql/host.frm というファイルが見つからなかった・・・ということのようです。
このファイルは、デフォルトの設定であれば、/var/lib/mysql の配下に無いといけません。

$ ls -l /var/lib/mysql/mysql/host.frm
-rw-rw---- 1 root root 9510 10月 26 21:13 2011 /var/lib/mysql/mysql/host.frm

存在してます。が、所有者がrootになっていて、書き込みが所有者+グループになっています。 mysqld が、ユーザ : mysql , グループ : mysqlで起動されますから、つまりは、host.frmというファイルを開けなかった・・・ということのようです。

そこで、/var/lib/mysql というディレクトリとその配下の全ての所有者をmysqlへ変更します。

$ chown -R mysql. /var/lib/mysql/

変更を終えたら、mysqlを起動してみます。

$ /etc/init.d/mysqld start
mysqld を起動中:                                           [  OK  ]

できました。

起動が正しくできたら、再起動しても起動するように設定しましょう。

$ chkconfig mysqld on
$ chkconfig --list mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

ユーザとデータベースを作成

ここまででMySQLは、使えます。
ここからは、簡単ながら、データベースをユーザを作成してみましょう。
( ここの設定は、5.1系から何も変わっていません。 )

mysqlサーバーの管理者でmysqlへログインする

$ mysql -u root
       :
       :
mysql> use mysql;
mysql> 

mysql> のプロンプトが表示されてばOKです。
以降の説明は、mysql>のプロンプトから、mysqlのsql分を発行して、mysqlサーバーの設定を行っていきます。 そのため、必ず最後に;の文字列を入力することをお忘れなく。


mysqlサーバーの管理者パスワードを設定する

mysql> set password for root@localhost=password('hogehoge');

上記では、hogehogeがパスワードになります。


不要なmysqlのデフォルトユーザを削除する

mysql> select user,host from mysql.user;
+------+-----------------+
| user | host            |
+------+-----------------+
| root | 127.0.0.1       |
|      | localhost       |
| root | localhost       |
|      | host.hoge.com   |
| root | host.hoge.com   |
+------+-----------------+
5 rows in set (0.00 sec)

mysql> delete from mysql.user where user='';

最初のselect user … で、現在登録されているユーザをすべて表示しています。
この中で、userの欄に空白があるものがありますから、この空白のユーザは、まず、削除しておきます。
delete from mysql.user … で、実際に削除しています。

※特に空白のユーザ名がない場合は、この操作は不要です。


mysqlのユーザを追加する

mysql> insert into user set user="hoge", password=password("hogehoge"), host="localhost";

hoge@localhostで、hogehogeでログインできるようになります。
また、他のホストからのアクセスを許可したい場合は、ここで指定している host=”localhost”localhostを変更し、上記のイメージでSQLを発行します。

例)
host2.exmapl.com というホストから許可したい場合は、以下のようにすれば良いです。

mysql> insert into user set user="hoge", password=password("hogehoge"), host="host2.exmapl.com";

また、このホスト名は、IPアドレスを指定することもできます。
例えば、ローカルLAN内の”192.158.1.128″からのアクセスを許可したい場合は、以下のようにすれば良いです。

mysql> insert into user set user="hoge", password=password("hogehoge"), host="192.158.1.128";

データベースを追加する

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

mysql> drop database test;

mysql> CREATE DATABASE hogedb;

最初にshow databases;で、現在登録されているデータベースを確認します。
この中で、testがあれば、それは、デフォルトで設定されているテスト用のデータベースなので、ここでは、次のdrop database test;で削除しています。
最後にCREATE DATABASE hogedb;で、hogedbというデータベースを作成しています。


mysqlの新規ユーザが新規データベースを操作できるようにする

mysql> grant all on hogedb.* to hoge;
...
mysql> grant all on hogedb.* to hoge@192.158.1.128;
...

上記の設定で、hogedbへのフルアクセスをhoge@localhostが行えるようになります。

以下のようなエラーが発生したら、
mysql> grant all on hogedb.* to hoge@192.158.1.128;
ERROR 1133 (42000): Can't find any matching row in the user table
ほとんどの場合、データが更新されていないので、そんなデータありません・・・みたいなエラーなので、
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.04 sec)

mysql> grant all on hogedb.* to hoge@192.158.1.128;
Query OK, 0 rows affected (0.00 sec)
のようにFLUSH PRIVILEGES を実行してあげてデータを更新してあげるとうまくいくことがほとんどです。お試しを。

最後に今まで編集したmysqlの情報を更新する

mysql> flush privileges;

この作業で、現在動作中のサーバーの情報も更新されます。


どうでしたか?
今回、ちょっと、初期化のところで、躓きました。
順番どおりにやって、一つ一つ確認してから作業を進めれば良かったんですが、mysqld をいきなり起動してしまったので、何が悪いのか理解するまで、ちょっと、時間がかかりました。
本来なら、まっさらのMYSQLの場合、インストールを終えたら、以下のコマンドで初期化すべきでした。
( アップグレードの場合は違いますから、注意しましょう。 )
$ mysql_install_db

また、5.1系からするとパラメータもいくつか変わったようなので、注意が必要です。
詳しくは、MySQL5.5 で削除された機能一覧(おまけ) を参照の上、設定ファイル(/etc/my.cnf)の編集など行いましょう。

ともあれ、これで5.5系を使えるようになりました。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

あえてmysql5.1系をインストールする

今回は、MySQLをインストールしてみます。 ただ、CentOS 5 の場合、yumを使って デフォルトでインストールされるのは、MySQL5 ...

mysql5.1系からmysql5.5系へアップグレードする

あえてmysql5.1系をインストールする でMySQL5.1系をインストールしていました。 MySQL5.1でも十分ですが、5.5への移行は ...

評判のKDDI クラウドコア(CloudCore) VPS にapache , php , mysql をインストールし、Wordpressを使ってみる (CentOS編)

評判のCloudCore VPSを使うときに最初にやっておきたいこと(CentOS編) の続き・・・で、今回は、評判のKDDI CP ...

Debian (Ubuntu 12) で Dotdeb から最新のPHP , MySQL をインストールする

DebianにもRedHat系と同じようにバイナリパッケージを提供するためのリポジトリがあります。 ただ、CentOSなどと同じように一般的に ...

FreeBSDでmysqlをインストール

とりあえず、前回までで、サーバーのインストールの準備ができました。ここから、各サーバーをインストールしていきます。 データベース(my ...



コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.1961 [s]