ステータス:非推奨

この記事では、サポートされなくなったバージョンのCentOSについて説明します。 現在CentOS6を実行しているサーバーを運用している場合は、サポートされているバージョンのCentOSにアップグレードまたは移行することを強くお勧めします。

理由 CentOS 6は2020年11月30日に保守終了(EOL)に達し、セキュリティパッチまたはアップデートを受信しなくなりました。 このため、このガイドは維持されなくなりました。

代わりに参照:このガイドは参照として役立つ場合がありますが、他のCentOSリリースでは機能しない場合があります。 可能な場合は、使用しているCentOSのバージョン用に作成されたガイドを使用することを強くお勧めします。

次のDigitalOceanチュートリアルは、CentOS 7サーバーへのMySQLのインストールの概要を示しているため、すぐに役立つ可能性があります。

提出者: Morgan Tocker 、MySQL Community Manager @ Oracle

序章


2013年10月、MySQL開発チームはyumリポジトリのサポートを正式に開始しました。 これは、MySQLの最新かつ最高のバージョンがソースから直接インストールされていることを確認できることを意味します。

このガイドでは、Centos6の新規インストールにMySQL5.6をインストールしてから、DigitalOceanの構成を最適化するためにいくつかの追加のタッチを適用します。

MySQL 5.6への変更に慣れていない場合は、 MySQL5.6の新機能の使用を開始することをお勧めします。 非常に便利な機能がいくつかあります。

サーバーの選択

今日は、4GのRAMと60GBのSSDが含まれているため、月額$ 40のサーバーを選択しますが、アプリケーションの要求に応じて別のサイズを自由に選択できます。 MySQLは、RAMが非常に少ないシステムにインストールでき、100GBを超えるスケールアップも可能です。 別のサーバーサイズを選択した場合は、以下で推奨される構成のアドバイスを調整してください。

https://assets.digitalocean.com/articles/centos_mysql/select-size.png ”>

公式リポジトリは32ビットと64ビットの両方をサポートしています Enterprise Linux 6 、およびFedora 18&19。 CentOSは__C__ommunity__Ent__erprise__O__perating __S__ystemであり、この目的で正常に動作します。

https://assets.digitalocean.com/articles/centos_mysql/centos-6.png ”>

MySQLのインストール

yumリポジトリファイルは、MySQLの開発者Webサイトからダウンロードする必要があります。 インストールすると、シンプルな yum update セキュリティアップデートを含む、MySQL5.6の最新のポイントリリースで実行していることを確認します。 Yumは、依存関係もインストールされるようにします。これにより、インストールプロセスが少し簡単になります。

開始するには、 http://dev.mysql.com/downloads/repo/ にアクセスし、Red Hat Enterprise Linux 6 / OracleLinux6のダウンロードリンクをクリックします。

https://assets.digitalocean.com/articles/centos_mysql/download-el6.png ”>

次に、の下のリンクをコピーします。「いいえ、ダウンロードを開始してください」

https://assets.digitalocean.com/articles/centos_mysql/no-thanks-link.png ”>

サーバーにログインして、このファイルをダウンロードします。 以下はURLの例です-利用可能なリポジトリの新しいバージョンがないことを再確認することをお勧めします。

wget http://dev.mysql.com/get/mysql-community-release-el6-3.noarch.rpm/from/http://repo.mysql.com/

ローカルファイルからリポジトリをインストールします。

sudo yum localinstall mysql-community-release-el6-*.noarch.rpm

これで、サーバーに公式リポジトリがインストールされましたが、ソフトウェアはまだインストールされていません。 リポジトリには、MySQLサーバー、MySQL Workbench管理ツール、およびODBCドライバーが含まれています。 MySQLサーバーをインストールしましょう:

sudo yum install mysql-community-server

MySQLを起動します:

sudo service mysqld start

再起動時に自動的に起動するようにMySQLを構成します。

sudo chkconfig mysqld on
chkconfig --list mysqld

それでおしまい。 これで準備は完了です。

仕上げの適用


MySQL開発チームは、MySQLが箱から出してより適切に調整され、5.6では構成がほとんど必要ないことを確認するために多大な努力を払いました。 そうは言っても、微調整したいことがいくつかあり、それらを追加することができます /etc/my.cnf [mysqld] 見出しグループの下:

sudo vim /etc/my.cnf
  • 設定することをお勧めします innodb_buffer_pool_size 50-80% ofシステムメモリに。 私が選択したサーバーの場合、50 % o f 4GB=2GBです。 これにより、MySQLはより多くのデータをキャッシュできるようになり(デフォルトはわずか128M)、パフォーマンスを大幅に向上させることができます大幅に

  • MySQLのデフォルトでは、非常に小さなトランザクションログがあります。これは、クラッシュリカバリを提供するために使用される機能です。 開発では小さなログファイルがスペースを節約するのに役立ちますが、本番環境ではこれらを増やして、より多くの書き込みがバックグラウンドでキューに入れられるようにする必要があります。 設定は innodb_log_file_size 推奨値の範囲は128M〜4Gです。

  • SSDを使用する場合、シーケンシャルIOはランダムIOよりも高速ではありません。 これは、MySQLが実行する最適化の1つを無効にして、CPUを少し節約できることをMySQLに伝えることができることを意味します。 設定は innodb_flush_neighbors=0.

  • デフォルトでは、MySQLは、電力損失があってもデータを失わないように非常に注意しています。 これにはパフォーマンスのコストが伴い、多くのクラウド環境では、ユーザーは代わりに電源障害時に数秒間のデータ損失を許可することを選択しました。 変更する設定は innodb_flush_log_at_trx_commit=2.

  • UTF-8 は、MySQLに国際文字を格納するためのより適切なデフォルトです。 設定することで変更できます character-set-server=utf8mb4collation-server=utf8mb4_general_ci. 個々のデータベース、テーブル、および列は、必要に応じてこれを上書きできます。

  • 多くのsyadminは、サーバーのタイムゾーンをGMTに設定することを推奨しています。 timezone=GMT.

  • 古いバージョンとの互換性を確保するために、MySQLはデフォルトで誤った範囲外の値を許可します。 新しいより厳密なものを有効にすることをお勧めします SQL_MODE アプリケーションがこのレガシーMySQLの動作に依存しない限り、オプション。

*すべて一緒に、これらは変更点です:

innodb_buffer_pool_size=2G
innodb_log_file_size=256M
innodb_flush_neighbors=0
innodb_flush_log_at_trx_commit=2

# Default to UTF-8 for text columns
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

# Set the default timezone to GMT.
# This is a common recommended practice, but can also remove this line
# If your date/time values appear incorrect.
timezone=GMT

# This configuration item is optional:
# It makes MySQL more strict and rejects invalid values.
# You may need to remove this line for legacy applications.
sql-mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY"

参考文献


これで、公式のyumリポジトリを使用したMySQL5.6の基本的なインストールは完了です。 MySQLチームはあなたのフィードバックを聞くことに興味があります。 問題が発生した場合、または単に提案がある場合は、http://forums.mysql.com/list.php?11にアクセスしてください。

また、ブログでインストール後にMySQL5.6で構成するもののより高度なバージョンを入手できます。 ただし、この記事の手順を実行した場合は、95% ofですのでご安心ください。