RPM ベースの Linux ディストリビューションに MySQL をインストールするには、Oracle が提供する RPM パッケージを使用することをお薦めします。 Community Edition of MySQL の場合、これらを取得するには次の 2 つのソースがあります:
-
MySQL ソフトウェアリポジトリから:
MySQL Yum リポジトリ (詳細は セクション2.5.1「MySQL Yum リポジトリを使用して MySQL を Linux にインストールする」 を参照)。
MySQL SLES リポジトリ (詳細は セクション2.5.3「MySQL SLES リポジトリを使用して MySQL を Linux にインストールする」 を参照)。
MySQL の RPM 配布はほかのベンダーからも提供されています。 これらは、機能、機能および表記規則 (通信設定を含む) において Oracle によって構築されたものとは異なる場合があり、このマニュアルのインストール手順は必ずしも適用されないことに注意してください。 代わりに、ベンダーの説明書を参照してください。
MySQL RPM パッケージ
表 2.9 MySQL Community Edition の RPM パッケージ
パッケージ名 | サマリー |
---|---|
mysql-community-client |
MySQL クライアントアプリケーションおよびツール |
mysql-community-common |
サーバーおよびクライアントライブラリの共通ファイル |
mysql-community-devel |
MySQL データベースクライアントアプリケーションの開発ヘッダーファイルおよびライブラリ |
mysql-community-embedded-compat |
ライブラリのバージョン 18 を使用するアプリケーションの互換性を持つ埋込みライブラリとしての MySQL サーバー |
mysql-community-libs |
MySQL データベースクライアントアプリケーションの共有ライブラリ |
mysql-community-libs-compat |
以前の MySQL インストールの共有互換性ライブラリ |
mysql-community-server |
データベースサーバーおよび関連ツール |
mysql-community-server-debug |
サーバーおよびプラグインバイナリをデバッグ |
mysql-community-test |
MySQL サーバーのテストスイート |
mysql-community |
ソースコード RPM は、選択した OS に応じて mysql-community-8.0.29-1.el7.src.rpm のようになります |
追加の *debuginfo* RPM | 複数の debuginfo パッケージがあります: mysql-community-client-debuginfo、mysql-community-libs-debuginfo mysql-community-server-debug-debuginfo mysql-community-server-debuginfo、および mysql-community-test-debuginfo。 |
表 2.10 MySQL Enterprise Edition の RPM パッケージ
パッケージ名 | サマリー |
---|---|
mysql-commercial-backup |
MySQL Enterprise Backup (8.0.11 で追加) |
mysql-commercial-client |
MySQL クライアントアプリケーションおよびツール |
mysql-commercial-common |
サーバーおよびクライアントライブラリの共通ファイル |
mysql-commercial-devel |
MySQL データベースクライアントアプリケーションの開発ヘッダーファイルおよびライブラリ |
mysql-commercial-embedded-compat |
ライブラリのバージョン 18 を使用するアプリケーションの互換性を持つ埋込みライブラリとしての MySQL サーバー |
mysql-commercial-libs |
MySQL データベースクライアントアプリケーションの共有ライブラリ |
mysql-commercial-libs-compat |
以前の MySQL インストールの共有互換性ライブラリ。ライブラリのバージョンは、使用しているディストリビューションによってデフォルトでインストールされるライブラリのバージョンと一致 |
mysql-commercial-server |
データベースサーバーおよび関連ツール |
mysql-commercial-test |
MySQL サーバーのテストスイート |
追加の *debuginfo* RPM | 複数の debuginfo パッケージがあります: mysql-commercial-client-debuginfo, mysql-commercial-libs-debuginfo mysql-commercial-server-debug-debuginfo mysql-commercial-server-debuginfo, and mysql-commercial-test-debuginfo。 |
RPM のフルネームの構文は次のとおりです:
packagename-version-distribution-arch.rpm
distribution
および arch
の値は、パッケージが構築された Linux ディストリビューションおよびプロセッサタイプを示します。 配布識別子のリストは、次のテーブルを参照してください:
表 2.11 MySQL Linux RPM パッケージ配布識別子
配分値 | 使用目的 |
---|---|
el {version} ({version} は el8 などの Enterprise Linux のメジャーバージョン) |
EL6、EL7 および EL8-based プラットフォーム (たとえば、Oracle Linux、Red Hat Enterprise Linux および CentOS の対応するバージョン) |
fc {version} 。ここで、{version} はメジャー Fedora バージョン (fc33 など) です |
Fedora 33, 34, および 35 |
sles12 |
SUSE Linux Enterprise Server 12 |
RPM パッケージ内のすべてのファイル (mysql-community-server
など) を表示するには、次のコマンドを使用します:
shell> rpm -qpl mysql-community-server-version-distribution-arch.rpm
このセクションの残りの部分の説明は、MySQL リポジトリを介してではなく、Oracle から直接ダウンロードした RPM パッケージを使用するインストールプロセスにのみ適用されます。
一部のパッケージには依存関係が存在します。 多くのパッケージをインストールする場合は、RPM バンドル tar ファイルをダウンロードして、前述のすべての RPM パッケージを個別にダウンロードする必要がないようにします。
ほとんどの場合、機能する標準 MySQL インストールを取得するには、mysql-community-server
, mysql-community-client
, mysql-community-libs
, mysql-community-common
および mysql-community-libs-compat
パッケージをインストールする必要があります。 このような標準の基本インストールを実行するには、これらのすべてのパッケージが含まれるフォルダに移動し (可能であれば、類似した名前の RPM パッケージはない)、次のコマンドを発行します:
shell> sudo yum install mysql-community-{server,client,common,libs}-*
yum を SLES 用の zypper および Fedora 用の dnf に置き換えます。
yum などの高レベルのパッケージ管理ツールを使用してパッケージをインストールすることをお薦めしますが、直接 rpm コマンドを優先するユーザーは yum install コマンドを rpm -Uvh コマンドに置き換えることができます。ただし、rpm -Uvh を使用すると、インストールプロセスが実行される可能性のある依存関係の問題のため、インストールプロセスが失敗しやすくなります。
クライアントプログラムのみをインストールするには、インストールするパッケージのリストで mysql-community-server
をスキップし、次のコマンドを発行します:
shell> sudo yum install mysql-community-{client,common,libs}-*
yum を SLES 用の zypper および Fedora 用の dnf に置き換えます。
RPM パッケージを使用して MySQL を標準インストールすると、次のテーブルに示すように、ファイルおよびリソースがシステムディレクトリの下に作成されます。
表 2.12 MySQL Developer Zone からの Linux RPM パッケージの MySQL インストールレイアウト
ファイルまたはリソース | 事業所 |
---|---|
クライアントプログラムおよびスクリプト | /usr/bin |
mysqld サーバー | /usr/sbin |
構成ファイル | /etc/my.cnf |
データディレクトリ | /var/lib/mysql |
エラーログファイル |
RHEL、Oracle Linux、CentOS または Fedora プラットフォームの場合:
SLES 用: |
secure_file_priv の値 |
/var/lib/mysql-files |
System V init スクリプト |
RHEL、Oracle Linux、CentOS または Fedora プラットフォームの場合:
SLES 用: |
Systemd サービス |
RHEL、Oracle Linux、CentOS または Fedora プラットフォームの場合:
SLES 用: |
PID ファイル | /var/run/mysql/mysqld.pid |
Socket | /var/lib/mysql/mysql.sock |
キーリングディレクトリ | /var/lib/mysql-keyring |
Unix マニュアルページ | /usr/share/man |
インクルード (ヘッダー) ファイル | /usr/include/mysql |
ライブラリ | /usr/lib/mysql |
その他のサポートファイル (エラーメッセージ、文字セットファイルなど) | /usr/share/mysql |
インストールでは、mysql
という名前のユーザーおよび mysql
という名前のグループもシステムに作成されます。
古いパッケージを使用して以前のバージョンの MySQL をインストールすると、/usr/my.cnf
という名前の構成ファイルが作成される場合があります。 ファイルの内容を調べ、目的の設定をファイル/etc/my.cnf
ファイル内に移行してから、/usr/my.cnf
を削除することを強くお薦めします。
MySQL は、インストールプロセスの最後に自動的には起動されません。 Red Hat Enterprise Linux、Oracle Linux、CentOS および Fedora システムの場合は、次のコマンドを使用して MySQL を起動します:
shell> systemctl start mysqld
SLES システムの場合、コマンドは同じですが、サービス名は異なります:
shell> systemctl start mysql
オペレーティングシステムが systemd に対応している場合は、stop, start, status などの標準 systemctl (または引数を逆にした service) コマンドと restart を使用して MySQL サーバーサービスを管理する必要があります。 mysqld
サービスはデフォルトで有効になっており、システムの再起動時に開始されます。 systemd プラットフォームで動作が異なる場合があることに注意してください: たとえば、データディレクトリの場所を変更すると、問題が発生する可能性があります。 詳細は、セクション2.5.9「systemd を使用した MySQL Server の管理」を参照してください。
RPM および DEB パッケージを使用したアップグレードインストール中に、アップグレードの発生時に MySQL サーバーが実行されている場合は、MySQL サーバーが停止し、アップグレードが発生して MySQL サーバーが再起動されます。 1 つの例外: アップグレード中にエディションも変更された場合 (コミュニティから商用、またはその逆)、MySQL サーバーは再起動されません。
サーバーの最初の起動時に、サーバーのデータディレクトリが空の場合、次のようになります:
サーバーが初期化されます。
SSL 証明書およびキーファイルがデータディレクトリに生成されます。
validate_password
がインストールされ、有効になっています。-
スーパーユーザーアカウント
'root'@'localhost'
が作成されます。 スーパーユーザーのパスワードが設定され、エラーログファイルに格納されます。 これを表示するには、RHEL、Oracle Linux、CentOS、および Fedora システムで次のコマンドを使用します:shell> sudo grep 'temporary password' /var/log/mysqld.log
SLES システムでは、次のコマンドを使用します:
shell> sudo grep 'temporary password' /var/log/mysql/mysqld.log
次のステップでは、生成された一時パスワードを使用してログインし、スーパーユーザーアカウントのカスタムパスワードを設定します:
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
validate_password
はデフォルトでインストールされます。 validate_password
で実装されているデフォルトのパスワードポリシーでは、パスワードに大文字、小文字、数字および特殊文字を 1 文字以上含める必要があり、パスワードの合計長は 8 文字以上である必要があります。
インストール中に問題が発生した場合は、エラーログファイル/var/log/mysqld.log
にデバッグ情報が記録されている可能性があります。
一部の Linux ディストリビューションでは、mysqld で使用可能なファイルディスクリプタの数の制限を増やす必要がある場合があります。 セクションB.3.2.16「ファイルが見つからず同様のエラーが発生しました」を参照してください
複数の MySQL バージョンからのクライアントライブラリのインストール.
以前のライブラリに対してリンクされた古いアプリケーションとの互換性を維持する場合などに、複数のクライアントライブラリバージョンをインストールできます。 古いクライアントライブラリをインストールするには、rpm で --oldpackage
オプションを使用します。 たとえば、MySQL 8.0 の libmysqlclient.21
を含む EL6 システムに mysql-community-libs-5.5
をインストールするには、次のようなコマンドを使用します:
shell> rpm --oldpackage -ivh mysql-community-libs-5.5.50-2.el6.x86_64.rpm
デバッグパッケージ.
debug package でコンパイルされた MySQL Server の特別なバリアントがサーバー RPM パッケージに含まれています。 デバッグおよびメモリー割当てチェックを実行し、サーバーの実行中にトレースファイルを生成します。 そのデバッグバージョンを使用するには、MySQL をサービスまたは/usr/sbin/mysqld
で起動するかわりに、/usr/sbin/mysqld-debug
で起動します。 使用できるデバッグオプションについては、セクション5.9.4「DBUG パッケージ」 を参照してください。
デバッグビルドのデフォルトプラグインディレクトリが、MySQL 8.0.4 で/usr/lib64/mysql/plugin
から/usr/lib64/mysql/plugin/debug
に変更されました。 以前は、デバッグビルドのために plugin_dir
を/usr/lib64/mysql/plugin/debug
に変更する必要がありました。
ソース SRPM から RPM を再構築中. MySQL のソースコード SRPM パッケージをダウンロードできます。 これらをそのまま使用して、標準の rpmbuild ツールチェーンで MySQL RPM を再構築できます。