この記事では、MySQLおよびMariaDBのオープンソースドロップイン代替品であるperconaサーバーについて学習します。 InnoDBデータベースエンジンは、パフォーマンス、信頼性、およびコスト効率の高いソリューションが必要な場合に、非常に魅力的で優れた代替手段になります。
次のセクションでは、CentOS 7へのperconaサーバーのインストールについて説明します。また、現在のデータのバックアップを作成するために必要な手順、構成、およびバックアップを復元する方法についても説明します。
目次
- 1-perconaを使用する理由とその理由
- 2-データベースをバックアップします
- 3-以前のSQLサーバーを削除する
- 4-Perconaバイナリのインストール
- 5-Perconaの構成
- 6-環境の保護
- 7-バックアップを復元します
1。 Perconaを使用する理由とその理由
Perconaは、MySQLおよびMariaDBデータベースのオープンソースの代替手段です。MySQLのフォークであり、MySQLよりも信頼性が高く、強力で、高速でありながら、完全に互換性があるため、多くの改善と独自の機能を備えています。 OracleのMySQLとPercona。
Percona専用の機能
- パーティション化されたアダプティブハッシュ検索
- 高速チェックサムアルゴリズム
- バッファプールのプリロード
- FlashCacheのサポート
MySQLEnterpriseおよびPercona固有の機能
- さまざまなサーバーからテーブルをインポートする
- PAM認証
- 監査ログ
- スレッドプール
これらすべての優れた機能を一緒に見ることに非常に興奮しているので、PerconaServerの基本的な構成をインストールして実行する方法を紹介します。
2。データベースをバックアップする
次のコマンドは、 mydatabases.sqlを作成します salesdbおよびemployeedbデータベースを再作成/復元するSQLコマンドをファイルに追加し、データベース名を置き換えてセットアップを反映します。これがまったく新しいセットアップの場合はスキップします
mysqldump -u root -p --databases employeedb salesdb > mydatabases.sql
現在の構成ファイルをコピーします。新しいセットアップではこれをスキップすることもできます
cp my.cnf my.cnf.bkp
3。以前のSQLServerを削除する
MySQL / MariaDBが実行されている場合は、停止します。
systemctl stop mysql.service
MariaDBとMySQLをアンインストールする
yum remove MariaDB-server MariaDB-client MariaDB-shared mysql mysql-server
/ var / lib / mysql内のMariaDBファイルを移動/名前変更します 、単に削除するよりも安全で高速です。これは、第2レベルのインスタントバックアップのようなものです。 :)
mv /var/lib/mysql /var/lib/mysql_mariadb
4。 Perconaバイナリのインストール
Perconaのインストール方法については、いくつかのオプションから選択できます。CentOSシステムでは、通常、yumまたはRPMを使用することをお勧めします。したがって、これらはこの記事で説明する方法であり、ソースからのコンパイルとインストールについては説明しません。この記事。
Yumリポジトリからのインストール:
まず、PerconaのYumリポジトリを次のように設定する必要があります:
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
次に、Perconaを次のコマンドでインストールします:
yum install Percona-Server-client-56 Percona-Server-server-56
上記のコマンドは、Perconaサーバーとクライアント、共有ライブラリ、場合によっては Perlをインストールします。 DBI ::MySQLなどのperlモジュール(まだインストールされていない場合)、および必要に応じて他の依存関係もあります。
RPMパッケージからのインストール:
wgetを使用してすべてのrpmパッケージをダウンロードできます:
wget -r -l 1 -nd -A rpm -R "*devel*,*debuginfo*" \ http://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-5.5.42-37.1/binary/redhat/7/x86_64/
また、rpmユーティリティを使用すると、すべてのパッケージを1回インストールできます。
rpm -ivh Percona-Server-server-55-5.5.42-rel37.1.el7.x86_64.rpm \ Percona-Server-client-55-5.5.42-rel37.1.el7.x86_64.rpm \ Percona-Server-shared-55-5.5.42-rel37.1.el7.x86_64.rpm
バックスラッシュに注意してください'\' 上記のコマンドの文の最後で、個々のパッケージをインストールする場合、依存関係を満たすには、共有パッケージが必要であることを忘れないでください。 クライアントの前にインストールし、サーバーの前にクライアントをインストールします。
5。 Perconaサーバーの構成
以前の構成の復元
MariaDBから移行するため、前の手順で作成したmy.cnfファイルのバックアップを復元できます。
cp /etc/my.cnf.bkp /etc/my.cnf
新しいmy.cnfの作成
ニーズに合った新しい構成ファイルが必要な場合、またはmy.cnfのコピーを作成していない場合は、このウィザードを使用すると、簡単な手順で生成されます。
これは、Percona-Serverパッケージに付属しているmy.cnfファイルのサンプルです
# Percona Server template configuration
[mysqld]
##先頭の#を削除し、MySQLで最も重要なデータ#キャッシュのRAMの量に設定します。専用サーバーの合計RAMの70%から開始し、それ以外の場合は10%から開始します。#innodb_buffer_pool_size =128M ##先頭を削除#非常に重要なデータ整合性オプションをオンにします:logging#バックアップ間のバイナリログへの変更#log_bin##先頭を削除#主にレポートサーバーに役立つオプションを設定します。#サーバーのデフォルトはトランザクションと高速SELECTで高速です。#必要に応じてサイズを調整し、最適な値を見つけるために実験してください。#join_buffer_size =128M#sort_buffer_size =2M#read_rnd_buffer_size =2Mdatadir =/ var /lib/mysqlsocket=/var/lib/mysql/mysql.sock#さまざまなセキュリティリスクを防ぐために、シンボリックリンクを無効にすることをお勧めしますsymbolic-links =0
[mysqld_safe]
log-error =/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid
my.cnfファイルをニーズに合わせたら、サービスを開始します。
systemctl restart mysql.service
すべてがうまくいけば、サーバーは起動し、SQLコマンドを受信する準備ができています。次のコマンドを試して確認できます。
mysql -u root -p -e 'SHOW VARIABLES LIKE "version_comment"'
サービスを開始できない場合は、 /var/log/mysql/mysqld.logで理由を探すことができます。 このファイルはログエラーによって設定されます my.cnfの[mysqld_safe]のオプション セッション。
tail /var/log/mysql/mysqld.log
/ var / lib / mysql /内のファイルを確認することもできます。 [hostname] .errの形式の名前 次の例として:
tail /var/lib/mysql/centos7.err
これでも問題の表示に失敗した場合は、straceを試すこともできます:
yum install strace && systemctl stop mysql.service && strace -f -f mysqld_safe
上記のコマンドは非常に口頭で、出力は非常に低レベルですが、ほとんどの場合サービスを開始できない理由を示すことができます。
6。環境の保護
これで、RDBMSがSQLクエリを受信する準備が整いましたが、最小限のセキュリティなしで貴重なデータをサーバーに配置することはお勧めできません。 mysql_secure_instalationを使用してより安全にすることをお勧めします。 、このユーティリティは、未使用のデフォルト機能を削除し、ルートメインパスワードを設定し、このユーザーを使用するためのアクセス制限を作成するのに役立ちます。
シェルで呼び出して、画面の指示に従ってください。
mysql_secure_install
7。バックアップを復元する
以前の設定から来ている場合は、データベースを復元できます。もう一度mysqldumpを使用してください。
mysqldump -u root -p < mydatabases.sql
おめでとうございます。CentOSLinuxにPerconaをインストールしました。これで、サーバーを完全に使用できるようになりました。これで、MySQLと同じようにサービスを使用でき、サービスは完全に互換性があります。
結論
パフォーマンスを向上させるために構成するものはたくさんありますが、セットアップを改善するための簡単なオプションがいくつかあります。 innodbエンジンを使用する場合は、 innodb_file_per_tableを設定することもお勧めします。 オプションオン 、テーブルごとにファイルでテーブルインデックスを配布します。つまり、各テーブルに独自のインデックスファイルがあり、システム全体がより堅牢になり、修復が容易になります。
覚えておくべき他のオプションは、 innodb_buffer_pool_sizeです。 オプションの場合、InnoDBはデータセットに対して十分な大きさであり、 70%から80%の間の値が必要です。 使用可能なメモリの合計のうち、妥当なものである必要があります。
innodb-flush-methodを設定する to O_DIRECT RAID がある場合は、書き込みキャッシュを無効にします 、このキャッシュはすでに下位レベルで実行されているため、パフォーマンスを向上させるために設定する必要があります。
データがそれほど重要ではなく、完全に ACIDを必要としない場合 準拠したトランザクションの場合、 2に調整できます オプションinnodb_flush_log_at_trx_commit 、これはパフォーマンスの向上にもつながります。