公式のYumリポジトリからMySQL5.6をインストールする方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンの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を超えるスケールアップも可能です。 別のサーバーサイズを選択した場合は、以下で推奨される構成のアドバイスを調整してください。
[[File:“%3Ca]] 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であり、この目的で正常に動作します。
[[File:“%3Ca]] 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のダウンロードリンクをクリックします。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/centos_mysql/download-el6.png ”>
次に、の下のリンクをコピーします。「いいえ、ダウンロードを開始してください」:
[[File:“%3Ca]] 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では構成がほとんど必要ないことを確認するために多大な努力を払いました。 そうは言っても、微調整したいことがいくつかあります。これらは、[mysqld]見出しグループの下の/etc/my.cnf
に追加できます。
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=utf8mb4
とcollation-server=utf8mb4_general_ci
を設定することで変更できます。 個々のデータベース、テーブル、および列は、必要に応じてこれを上書きできます。 - 多くのsyadminは、サーバーのタイムゾーンをGMTに設定することを推奨しています。これは、
timezone=GMT
で実行できます。 - 古いバージョンとの互換性を確保するために、MySQLはデフォルトで誤った範囲外の値を許可します。 アプリケーションがこのレガシーMySQLの動作に依存しない限り、新しいより厳密な
SQL_MODE
オプションを有効にすることをお勧めします。
- すべて一緒に、これらは変更点です:
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ですのでご安心ください。