Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  RPM パッケージを使用して MySQL を Linux にインストールする

2.5.5 RPM パッケージを使用して MySQL を Linux にインストールする

注記

MySQL 5.6.11 のインストールまたはアップグレードを行うには、このセクションの最後にある特記事項を必ずお読みください。

glibc を使用する RPM ベースの Linux 配布に MySQL をインストールするために推奨される方法は、MySQL が提供する RPM パッケージを使用することです。RPM パッケージの Community バージョンを取得するには 2 つのソースがあります。

このセクションの議論は、MySQL Developer Zone から直接ダウンロードした RPM パッケージのみに適用されます。これらのパッケージで作成されたインストールは、次の表に示すシステムディレクトリのファイルになります。

表 2.6 MySQL Developer Zone からの Linux RPM パッケージの MySQL インストールレイアウト

ディレクトリ ディレクトリの内容
/usr/bin クライアントプログラムおよびスクリプト
/usr/sbin mysqld サーバー
/var/lib/mysql ログファイル、データベース
/usr/share/info Info 形式のドキュメント
/usr/share/man Unix マニュアルページ
/usr/include/mysql インクルード (ヘッダー) ファイル
/usr/lib/mysql ライブラリ
/usr/share/mysql エラーメッセージ、文字セットファイル、サンプル構成ファイル、データベースインストールのための SQL を含む種々のサポートファイル
/usr/share/sql-bench ベンチマーク

注記

MySQL の RPM 配布はほかのベンダーからも提供されています。それらは、弊社によってビルドされたものとは (通信セットアップなどの) 機能や規則が異なる場合があり、それらのインストールにはこのマニュアルの説明が必ずしも適用されないことに注意してください。代わりに、ベンダーの説明書を参照してください。これらの違いのため、弊社がビルドした RPM パッケージは、ほかのベンダーによってビルドされたこのような RPM がインストールされているかどうかをチェックします。その場合、RPM はインストールを実行せず、そのことを説明するメッセージを生成します。

ほかのベンダーからの RPM がすでにインストールされている場合、どのファイルがサーバーに属し、どれがクライアントライブラリに属するかに関するベンダーの表記が、Oracle パッケージで使用される内訳と異なるなどの不一致が生じる場合があります。このような場合は、Oracle RPM を rpm -i でインストールしようとすると、インストールされる RPM 内のファイルが、インストール済みのパッケージ (次の段落では mysql-libs と表されます) と不一致であるというメッセージになります。

弊社は、MySQL の各リリースに MySQL-shared-compat パッケージを提供します。このパッケージは mysql-libs に代わるものであり、古い MySQL シリーズに置換可能な互換クライアントライブラリを提供します。MySQL-shared-compat は、mysql-libs を無効にするようにセットアップされていますが、rpm は、(-U とは異なり) -i とともに起動された場合は無効パッケージを置換することを明示的に拒否します。rpm -i によるインストールが不一致を生ずるのはこのためです。

MySQL-shared-compat は、ライブラリが別の場所にインストールされるため、mysql-libs とともに安全にインストールできます。したがって、shared-compat を先にインストールしてから、インストールを続行する前に手動で mysql-libs を削除できます。mysql-libs が削除されたあと、ダイナミックリンカーは mysql-libs がクライアントライブラリを配置する場所でそれらを探すのを停止し、MySQL-shared-compat パッケージによって提供されるライブラリが引き継ぎます。

もう 1 つの選択肢は、yum を使用してパッケージをインストールすることです。MySQL リリースのすべての RPM パッケージを含むディレクトリで、yum install MySQL*rpm を実行すると、一度で不一致なくそれらを正しい順序でインストールし、mysql-libs を削除します。

ほとんどの場合、機能する MySQL インストールを取得するためにインストールする必要があるのは MySQL-server および MySQL-client パッケージのみです。その他のパッケージは、標準インストールには必要ありません。

MySQL 5.6.8 では、RPM の (アップグレードではなく) インストール操作は、mysql_install_db をよりセキュアな MySQL インストールを提供する --random-passwords オプションで起動します。--random-passwords を付けて mysql_install_db を呼び出すと、ランダムなパスワードを MySQL root アカウントに割り当て、これらのアカウントについてパスワードが期限切れであることを示すフラグを設定し、匿名ユーザー MySQL アカウントを作成しません。インストール後、サーバーを起動して $HOME/.mysql_secret ファイルに書き込まれたパスワードを使用して root として接続し、新しい root パスワードを割り当てることが必要になります。これを行うまで、root はそれ以外何もできません。これは、使用するすべての root アカウントについて実行する必要があります。パスワードを変更するには、SET PASSWORD ステートメントを (たとえば mysql クライアントとともに) 使用します。mysqladmin または mysql_secure_installation も使用できます。追加情報についてはセクション4.4.3「mysql_install_db — MySQL データディレクトリの初期化」を参照してください。(Unbreakable Linux Network での RPM を使用したインストール操作は mysql_install_db を使用しないため、影響されません。)

重要

MySQL クラスタ用の RPM  MySQL によってビルドされた標準の MySQL Server RPM は、NDBCLUSTER ストレージエンジンをサポートしません。RPM から MySQL Cluster をインストールする方法の詳細は、セクション18.2「MySQL Cluster のインストール」を参照してください。

MySQL Cluster RPM インストールをアップグレードするときは、サーバーおよびクライアントの RPM を含め、インストールしたすべての RPM をアップグレードする必要があります。

もともと複数の RPM パッケージをインストールして作成されたインストールの場合は、アップグレードでは、一部だけでなくすべてのパッケージをアップグレードするのが最善です。たとえば、以前にサーバーおよびクライアントの RPM をインストールした場合は、サーバーの RPM だけをアップグレードすることはしないでください。

RPM インストール時にデータディレクトリが存在する場合は、インストールプロセスは既存のデータを変更しません。これは、たとえば付与テーブル内のアカウントがアカウントのデフォルトセットに初期化されないという効果があります。

MySQL パッケージをインストールしようとして依存関係エラーが生じる場合は (たとえば、error: removing these packages would break dependencies: libmysqlclient.so.10 is needed by ...)、MySQL-shared-compat パッケージもインストールしてください。これには後方互換性のための古いリリースの共有ライブラリが含まれます。

次のリストに示す RPM パッケージが利用できます。ここに示した名前は、.linux_glibc2.5.i386.rpm というサフィクスを使用しますが、特定のパッケージではサフィクスが異なる場合があります。以降で説明します。複数の RPM パッケージをインストールする計画の場合は、RPM バンドル tar ファイルを代わりにダウンロードするとよいでしょう。これには複数の RPM パッケージが含まれるため、個別にダウンロードする必要がありません。

  • MySQL-server-VERSION.linux_glibc2.5.i386.rpm

    MySQL Server。別のマシンで動作している MySQL サーバーに接続するのみでなければ、これが必要です。

  • MySQL-client-VERSION.linux_glibc2.5.i386.rpm

    標準の MySQL クライアントプログラム。通常は、このパッケージをインストールします。

  • MySQL-devel-VERSION.linux_glibc2.5.i386.rpm

    Perl モジュールなど、ほかの MySQL クライアントをコンパイルする場合に必要なライブラリおよびインクルードファイル。C API アプリケーションをコンパイルする予定である場合はこの RPM をインストールします。

  • MySQL-shared-VERSION.linux_glibc2.5.i386.rpm

    このパッケージには、MySQL を動的にロードして使用するために、一部の言語およびアプリケーションが必要とする共有ライブラリ (libmysqlclient.so*) が含まれます。それにはシングルスレッドとスレッドセーフのライブラリが含まれます。共有クライアントライブラリに依存する C API アプリケーションをコンパイルして実行する予定である場合はこの RPM をインストールします。

  • MySQL-shared-compat-VERSION.linux_glibc2.5.i386.rpm

    このパッケージは古いリリースの共有ライブラリを含みますが、現在のリリースのライブラリは含みません。それにはシングルスレッドとスレッドセーフのライブラリが含まれます。古いバージョンの MySQL にダイナミックリンクするアプリケーションをインストールしていて、ライブラリの依存関係を壊すことなく最新バージョンにアップグレードする場合には、このパッケージをインストールします。

    MySQL 5.6.5 では、MySQL-shared-compat RPM パッケージにより、Red Hat が提供する mysql-*-5.1 RPM パッケージのユーザーが、オラクルが提供する MySQL-*-5.5 パッケージに移行できます。MySQL-shared-compat は、後者のパッケージの libmysqlclient.so ファイルを置換して、mysql-libs へのほかのパッケージの依存関係を満たすことによって、Red Hat mysql-libs パッケージを置換します。この変更は、Red Hat (または Red Hat 互換の) RPM パッケージのユーザーのみに影響します。Oracle RPM パッケージのユーザーにとっては何も変更はありません。

  • MySQL-embedded-VERSION.linux_glibc2.5.i386.rpm

    組み込み MySQL サーバーライブラリ。

  • MySQL-test-VERSION.linux_glibc2.5.i386.rpm

    このパッケージには、MySQL のテストスイートが含まれています。

  • MySQL-VERSION.src.rpm

    これにはすべての旧パッケージのソースコードが含まれています。ほかのアーキテクチャー (たとえば、Alpha あるいは SPARC) で RPM をビルドする際にも使用できます。

RPM パッケージ名のサフィクス (VERSION 値に続く) の構文は次のとおりです。

.PLATFORM.CPU.rpm

PLATFORM および CPU 値は、パッケージのビルド対象になっているシステムのタイプを示します。PLATFORM はプラットフォームを示し、CPU はプロセッサのタイプまたはファミリを示します。

すべてのパッケージは glibc 2.5 にダイナミックリンクされます。PLATFORM 値は、次の表に示すように、パッケージがプラットフォームから独立しているか、または特定のプラットフォームを目的としているかを示します。

表 2.7 MySQL Linux インストールパッケージ

PLATFORM 使用目的
linux_glibc25 プラットフォームから独立。glibc 2.5 をサポートする任意の Linux 配布で動作します。
rhel5rhel6 Red Hat Enterprise Linux 5 または 6
el6el7 Enterprise Linux 6 または 7
sles10sles11 SUSE Linux Enterprise Server 10 または 11

MySQL 5.6 では、現在 linux_glibc2.5 パッケージのみ使用可能です。

CPU 値は、パッケージのビルド対象になっているプロセッサのタイプまたはファミリを示します。

表 2.8 Linux 用 MySQL インストールパッケージの CPU 識別子

CPU 対象のプロセッサタイプまたはファミリ
i386i586i686 Pentium プロセッサ以上、32 ビット
x86_64 64 ビットの x86 プロセッサ
ia64 Itanium (IA-64) プロセッサ

RPM パッケージ (MySQL-server RPM など) のすべてのファイルを表示するには、次のようなコマンドを実行します。

shell> rpm -qpl MySQL-server-VERSION.linux_glibc2.5.i386.rpm

標準の最低限のインストールには、サーバーとクライアント RPM をインストールします。

shell> rpm -i MySQL-server-VERSION.linux_glibc2.5.i386.rpm
shell> rpm -i MySQL-client-VERSION.linux_glibc2.5.i386.rpm

クライアントプログラムのみをインストールする場合は、クライアント RPM のみインストールします。

shell> rpm -i MySQL-client-VERSION.linux_glibc2.5.i386.rpm

RPM には、インストールするパッケージの完全性および信憑性を検証する機能があります。この機能の詳細は、セクション2.1.4「MD5 チェックサムまたは GnuPG を用いたパッケージの完全性の確認」を参照してください。

サーバー RPM はデータを /var/lib/mysql ディレクトリに格納します。RPM はまた、MySQL Server を実行するために使用するユーザー mysql という名前のログインアカウントを作成し (存在しない場合)、サーバーがブート時に自動的に起動するように適切なエントリを /etc/init.d/ に作成します。(これは、以前にインストールを実行し、スタートアップスクリプトに変更を加えた場合、新しい RPM をインストールするときにスクリプトを失わないように、コピーをとる方がよいことを意味します。)システム起動時に MySQL を自動的に起動する方法の詳細は、セクション2.10.1.2「MySQL を自動的に起動および停止する」を参照してください。

MySQL 5.6 では、新規インストール中にサーバーブートスクリプトがインストールされますが、MySQL Server はインストールの最後には起動されません。これは、無人インストール中のサーバーのステータスがわからないためです。

MySQL 5.6 では、RPM パッケージを使用するアップグレードインストール中に、アップグレードが行われたときに MySQL Server が実行中である場合は、MySQL Server は停止され、アップグレードが実行され、MySQL Server が再起動されます。RPM アップグレードの実行時に MySQL Server がすでに実行中ではなかった場合は、インストールの最後に MySQL Server は起動されません。

注記

MySQL のコミュニティーバージョンから商用バージョンにアップグレードする場合は (これは実際には、まずコミュニティーバージョンをアンインストールしてから商用バージョンをインストールする必要があります)、アップグレード後に手動でサーバーを再起動する必要があります。

うまくいかない場合には、バイナリのインストールのセクションに詳細情報があります。セクション2.2「一般的なバイナリを使用した MySQL の Unix/Linux へのインストール」を参照してください。

注記

MySQL の付与テーブルにリストされているアカウントには、最初はパスワードがありません。サーバーの起動後に、セクション2.10「インストール後のセットアップとテスト」の説明に従って、それらにパスワードを設定する必要があります。

RPM のインストール時に、mysql というユーザーと mysql というグループがシステムに作成されます。これは、useraddgroupadd、および usermod コマンドを使用して行われます。これらのコマンドは適切な管理者権限を必要とします。これは、root によって実行される RPM インストールプロセスによってローカルに管理されるユーザーおよびグループ (/etc/passwd および /etc/group ファイルにリストされています) に必要です。

mysql ユーザーとしてログインすると、MySQL がInvalid (old?) table or database nameエラーを表示し、.mysqlguilost+found.mysqlgui.bash_history.fonts.cache-1.lesshst.mysql_history.profile.viminfo、および MySQL またはオペレーティングシステムのユーティリティーによって作成された同様のファイルが示されます。これらのエラーメッセージは無視しても、エラーメッセージの原因となっているファイルまたはディレクトリが不要であれば削除しても、安全です。

ローカル以外のユーザー管理 (LDAP、NIS、など) では、管理ツールが追加の認証 (パスワードなど) を要求することがあり、インストールを行うユーザーがその認証情報を提供しない場合は失敗します。失敗しても、RPM インストールは中止されずに正常に行われます。これは意図したものです。失敗した場合は意図した所有権の移動の一部が実行されておらず、システム管理者は、適切なユーザーおよびグループが存在することを手動で確認し、RPM spec ファイルのアクションに従って所有権を手動で移動することが推奨されます。

MySQL 5.6.11 では RPM spec ファイルが更新され、次のような影響があります。

  • アップグレードでないインストール (既存の MySQL バージョンはインストールされていない) の場合、MySQL を yum を使用してインストールできます。

  • アップグレードの場合、それまでの MySQL インストールがあればクリーンアップする必要があります。実際には、アップデートは古いインストールを削除して新しいものをインストールすることによって実行されます。

追加の詳細は、あとの方で説明します。

MySQL 5.6.11 以降のアップグレードでないインストールの場合、MySQL を yum を使用してインストールできます。

shell> yum install MySQL-server-NEWVERSION.linux_glibc2.5.i386.rpm

MySQL 5.6.11 以降へのアップグレードの場合、アップグレードは古いインストールを削除して新しいものをインストールすることによって実行されます。そうするには、次の手順に従います。

  1. 既存の 5.6.X インストールを削除します。OLDVERSION は削除するバージョンです。

    shell> rpm -e MySQL-server-OLDVERSION.linux_glibc2.5.i386.rpm

    この手順をすべてのインストール済み MySQL RPM に対して繰り返します。

  2. 新しいバージョンをインストールします。NEWVERSION はインストールするバージョンです。

    shell> rpm -ivh MySQL-server-NEWVERSION.linux_glibc2.5.i386.rpm

あるいは、削除とインストールは yum を使用して実行できます。

shell> yum remove MySQL-server-OLDVERSION.linux_glibc2.5.i386.rpm
shell> yum install MySQL-server-NEWVERSION.linux_glibc2.5.i386.rpm

User Comments
  Posted by Bahadir Malkoç on July 2, 2013
For Centos 6, RPM may complain that you may have mysql-libs that is of version 5.1 due to crontabs. You can do the following to solve this issue:

rpm -i MySQL-shared-compat-*
yum remove mysql-libs
rpm -i MySQL-server-*
rpm -i MySQL-client-*
  Posted by software dhc on July 2, 2017
[root@daisy1 mysql]# rpm -ivh MySQL-server-5.6.36-1.el7.x86_64.rpm
install mysql 5.6.36 on redhat 7.0
install with conflicts
"install of MySQL-server-5.6.36-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.35-3.el7.x86_64"

workaround
remove mysql-libs

[root@daisy1 mysql]# yum remove mysql-libs

FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper

[root@daisy1 mysql]# yum -y install autoconf
Sign Up Login You must be logged in to post a comment.