シロナガスクジラプラットフォームのMySQLデータベース管理プラクティスの推奨事項

シロナガスクジラプラットフォームのMySQLデータベース管理プラクティスの推奨事項プライマリ・データベース・プラットフォームのデータアクセス青クジラ、青クジラ、プラットフォーム経験の安定性に関係し、そのデータセキュリティは、企業のIT資産情報に関連することができるとしてMySQL、青鯨プラットフォームをインストールし、維持するプロセスであるべきです十分な注意。本論文では、分析し、いくつかの問題があったとして、治療の推奨事項を提供します。これらの質問は以下のとおりです、テーブルをクリアし、自動クリーニング、binlogの手動クリーニングとメンテナンスをログ設定、バックアップをアップグレードしてください。

プラットフォーム、バージョン5.5.24、メインフレームワークからコピー(5台のサーバー)、以下のような問題のいくつかが記載されている場合、青色鯨プラットフォームMySQLデータベースが自動的にインストールされています。

MySQLのアップグレード

1.分析

シロナガスクジラのプラットフォームMySQLバージョンがデフォルトでインストール5.5.24で、一般的に起因するセキュリティ上の懸念への使用を避けるために、スキャンされたバージョンの安全要件を満たしていないデータベースをアップグレードする必要があり、データベースのアップグレードは、プラットフォームのインストールの完了後にタイムリーにお勧めしますし、データベース基づく最新のバージョンに保存されているいかなるビジネスデータ、リスクフリーと高効率のアップグレードアップグレードは、すでにビルド環境により、互換性の問題には大きすぎるのリリーススパンを防ぐために、経験をアップグレードするには実証済みません、私たちは、MySQL5.5、すなわち5.5.62にアップグレードすることをお勧めします、論理的な方法は、アップグレードするデータベースの完全なデータベース・エクスポートのmysqldumpを低いバージョンを使用し、インストールされた新しいバージョンにインポートします。

2.論理アップグレードプロセス

1、現在のMySQLプロセスをチェックします

主にアップグレードした後、比較のために起動パラメータを確認するために、現在実行中のMySQLプロセスの詳細を確認します

grepのmysqlの|#psの-ef [ルート@繧-1がインストール]

/ 3午後12時00分○○秒のgrep --color =自動mysqlのルート20407 8526 0 15時10分PTS

ルート29942 1 0 Dec17?午前0時00分○○秒/ binに/ SH /データ/ bkce /サービス/ mysqlの/ binに/ mysqld_safeを--datadir = /データ/ bkce /公共/ mysqlの/ --pid-ファイル= /データ/ bkce /公共/ mysqlの/ MySQLの.pid

30344 29942 5 Dec17をのmysql?夜1時17分37秒/データ/ bkce /サービス/ MySQLの/ binに/のmysqld --basedir = /データ/ bkce /サービス/ MySQLの--datadir = /データ/ bkce /パブリック/ MySQLの/ --plugin-DIR = /データ/ bkce /サービス/ mysqlの/ libに/プラグイン--user = mysqlの--log-エラー= /データ/ bkce /公共/ mysqlの//のPaaS-1.err --pid-ファイル= /データ/ bkce /公共/ MySQLの/mysql.pid --socket = /データ/ bkce /ログ/ mysqlの/にmysql.sock --port = 3306

2、フルバックアップ

次のコマンド完全バックアップを使用して、バックアップパスは、データの量、ディスク性能等に応じて調整することができます

[ルートの@繧-1サービス]#mysqldumpを-uroot -x -A -E -R> /tmp/alldbback.sql

3. Backupインストールディレクトリ、データディレクトリ

データベースサービス、およびbasedirに、DATADIRディレクトリのバックアップを停止し、不慮のロールバックを回避するために、アップグレードする前にバックアップを作成するようにしてください

[ルート@繧-1サービス]#個ます。mkdir /データ/バックアップ

#1のMVのMySQL / /データ/バックアップ/ [PaaSの-1サービス@ルート]

[ルート@繧-1サービス]#のCD /データ/ bkce /公共/

[ルート@繧-1パブリック]#mvとmysqlの/データ/バックアップ/ mysql_data

4、新しいバージョンがインストールを抽出します

インストールするには、バイナリパッケージを使用して解凍し、アーカイブの5.5.62バージョンをダウンロードし、インストールディレクトリを解凍するためにそれをアップロードし、MySQLへのソフトリンクを作成

[ルート@繧-1サービス]#タールzxf /tmp/mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz

[ルート@のPaaS-1サービス]#LN -sのMySQL-5.5.62-Linuxベースglibc2.12-x86_64の/ MySQLの

5、データベースを初期化

データディレクトリを初期化します

[ルート@繧-1パブリック]#1は、mkdirのmysql

[ルート@繧-1のmysql]#のCD /データ/ bkce /サービス/ MySQLの

[ルート@のPaaS-1のMySQL]#./s/mysql_install_db --user = MySQLの--basedir = /データ/ bkce /サービス/ MySQLの--datadir = /データ/ bkce /パブリック/ MySQLの/

MySQLのシステムテーブルをインストールします...

181227 15時39分10秒[注]サーバーが--bootstrapで実行されているよう--secureファイル-PRIV値を無視します。

181227 15時39分10秒[注] /データ/ bkce /サービス/ MySQLの/ binに/のmysqld(mysqldの5.5.62ログ)、プロセス24766として開始...

OK

ヘルプ表を充填...

181227午後3時39分11秒[注]サーバーが--bootstrapで実行されているよう--secureファイル-PRIV値を無視します。

プロセス24790として181227 15時39分11秒[注] /データ/ bkce /サービス/ MySQLの/ binに/のmysqld(mysqldの5.5.62ログ)を出発...

OK

ブート時にmysqldを起動するには、コピーする必要があり

サポート・ファイル/お使いのシステムのための適切な場所にmysql.serverの

MySQLのrootユーザーのパスワードを設定することを忘れないでください!

そのためには、サーバを起動し、次のコマンドを発行します。

/データ/ bkce /サービス/ mysqlの/ binに/ mysqladminの-u rootパスワードの新しいパスワード "

/データ/ bkce /サービス/ mysqlの/ binに/ mysqladminの-uルート132.108.252.43パスワード-h '新しいパスワード'

別の方法として次のコマンドを実行します。

/データ/ bkce /サービス/ mysqlの/ binに/ mysql_secure_installation

これはまた、あなたのテストを削除するオプションを提供します

データベースとデフォルトで作成された匿名ユーザー。これは

強く本番サーバに推奨。

詳細な手順のマニュアルを参照してください。

あなたはとMySQLのデーモンを起動することもできます。

CD /データ/ bkce /サービス/ mysqlの。/データ/ bkce /サービス/ mysqlの/ binに/ mysqld_safeを&

あなたはmysql-test-run.plでMySQLデーモンをテストすることができます

CD /データ/ bkce /サービス/ mysqlの/ mysqlのテスト; perlのmysql-test-run.pl

ですべての問題を報告してくださいhttp://bugs.mysql.com/

6、コンフィギュレーションおよびスタートアップを変更

ホスト名に従ってブーツの新しいバージョンは、元のプロセスの下でpidファイルと一致しない場合my.cnfの元のプロファイルがPIDファイルを設定されていないため、自動的に生成されます、あなたは、設定ファイルに以下の設定を追加する必要があります。

PID-ファイル=

VIMな/etc/my.cnf

[mysqldを】

/data/bkce/public/mysql/mysql.pid

データベースを起動します。

/データ/ bkce /サービス/ mysqlの/ binに/ mysqld_safeを&

7、データをインポートします

mysqlのログ、確認は、バックアップデータをインポートし、バージョン5.5.62にアップグレードされました

mysqlの-uroot </tmp/alldbback.sql

それは、インポートを完了するのを待ちます。

8、ファイル復旧mysql.sh

開始またはインストールディレクトリにあるmysql.shファイルを呼び出すことによって行われているシロナガスクジラプラットフォームマシン制御上のMySQLサービスを停止するので、あなたは、新しいバージョンをインストールした後にディレクトリにファイルを復元する必要があります

[ルート@繧-1のmysql]#のCD /データ/バックアップ/ mysqlの/ binに/

[ルート@繧-1ビン]#のcp mysql.sh /データ/ bkce /サービス/ mysqlの/ binに/

9.アップグレードの確認

コントロールユニットのコミットメントのmysqlによってビューは、それが正常であるかどうかを確認します

[ルート@繧-1のmysql]#のCD /データ/インストール/

[ルート@繧-1のインストール]#の./bkcecステータスのmysql

#を。/ bkcec停止mysqlの[PaaSの-1のインストール@ルート]

#を[ルート@繧-1のインストール]。/ MySQLを起動bkcec

grepのmysqlの|#psの-ef [ルート@繧-1がインストール]

シロナガスクジラのプラットフォームをチェックし、データベースは、それが正常であるかどうかを確認するために呼び出します。これは、全体のアップグレードプロセスが完了しています。

MySQL設定

1.分析

私が不足しているため、ディスク容量の原因の多くは、シロナガスクジラのMySQLプラットフォームの問題を扱ってきた、とディスク容量は、主に過度のbinlogのログが原因である具体的な運用、保守チームが存在しないため、プロセスを使用して、理由なく顧客のシロナガスクジラをクリア通常は少しとバックエンドサーバーに集中するので、自動クリーニング機構を強くお回すことをお勧めBINLOG。

2.試験手順

1、設定した自動クリーンアップのbinlog

パラメータexpire_logs_daysは、自動クリーンアップをログバイナリログパラメータ値が決定されてもよい超えるサーバのディスク容量に応じた値を設定し、前提は、バックアップ七日フルバックアップ、expire_logs_days値としてデータベースバックアップの頻度よりも高いと、ログ保持時間を確保することであることを示し十分なスペースは一般7日、または15日に推奨される場合、7より大きくなければなりません。

この方法は、再起動のMySQLの後に有効にする= 7設定パラメータファイルexpire_logs_daysに、提供されます。また、MySQLのコマンドラインで直接設定することができます。

MySQLの>グローバルexpire_logs_days = 7を設定します。

設定はすぐに次のようないくつかのトリガ条件を達成するために必要な、コマンドラインでログをクリーンアップしません。

1、バイナリログサイズがmax_binlog_sizeを超え

図2に示すように、実行手動フラッシュログ

3、MySQLサービスが再起動されると

MySQLのパラメータを設定するには、コマンドラインを使用するプロセスであれば、あなたはフラッシュログを使用することができますクリーンアップするトリガスイッチをログに記録し、その後、ユースケースに影響を与えずに実装する必要があり、サーバーI / Oリソースを取る必要性をクリーンアップするために注意を払う必要があります。

binlogの手動クリーニングとメンテナンス

1.分析

スペースが不足しているため、ディスク・スペースのbinlogは、MySQLのサービスが中断されている場合は、手動でバイナリログログをクリーンアップする必要があります。問題は数回治療、管理者はMySQLのサービス検出の開始に失敗しました再起動し、その理由は、MySQLのサービス開始日は、ログに書き込まする必要があるすべてのbinlogの後にクリーンアップすることで、ディスクスペースのリリース後、バイナリログを掃除して、すべてのbinlogのログを削除したことですbinlogの、そして最後のバイナリログは、彼らのレコードを見つけることができないので、エラーが起動に失敗します。

1、手動でクリーンアップするための正しい方法

場合は、手動クリーニングのbinlogログ、データベースは、ログに書き込まれた最新の検出最後のログを確認し、ログ名(インクリメント)によるかを判断するための時間を書くことができます再起動されることを保証するために、新しいログを保持する必要があります。

2、治療後にすべてのログを削除します

すべてのログデータベースは、この時点で開始することはできません削除した場合は、次のように扱うことができます。

DATADIRディレクトリ内のmysql-bin.indexファイルを検索し、ファイルは、データベースを、ファイルの内容を空に再起動し、データベースバイナリログ情報に記録され、その後、ログは、データベースが正常に戻って、第1にリセットされます。

空の手術台

1.分析

クエリの効率に影響を与える、いくつかのログデータベーステーブルが大きすぎるため、テーブルに挿入され、管理者は、このようなデータテーブルが比較的大きいNavicatは、などのグラフィカルツールを使用するために使用されるMySQLデータベースを維持しながら、時々グラフィックから、テーブルをクリアする操作を行いますログを元に戻すと、システムは、削除操作の場合、ツールテーブルは、データベースを削除するための各データレコードに対して実行されるため、立ち往生してやり直しされ、空のツールテーブルをクリックし、データベースは生きることによる資源の大規模なデータベースを占めハング。

1、テーブルを空にするための正しい方法

次のように確認フォームデータが必要ない場合は、切り捨てテーブルの状況にせよ、非常に高い効率と小さなフットプリントを使用し、SQLの構文は次のとおりです。

MySQLの> TABLE_NAMEを切り捨てます。

MySQLのバックアップ

1.分析

最も重要なことは、データベースのデータを、他のすべて上記データセキュリティ、およびデータバックアップの完全なセキュリティは防衛の最後の行である、シロナガスクジラのプラットフォームは、そのデータストレージのためのエンタープライズクラスのプラットフォームは非常に重要ですので、バックアップ戦略が必要合理的な開発。論理的、物理的なバックアップxtrabackupへの最も一般的なMySQLのバックアップのバックアップmysqldumpを、バックアップはデータのより大きな量にmysqldumpをを使用して、1時間で完了することができるデータの量がxtrabackupを検討する必要がある場合には、次のように記述mysqldumpを。

2.バックアップ汎用性コマンド

mysqldumpをバックアップに使用することができ、多くのパラメータがある、非常に柔軟なツールですが、MySQLのシロナガスクジラのプラットフォーム用のバックアップは、一般的なバックアップコマンドによって推奨します:

mysqldumpを-uroot -p --single-トランザクション--all-データベース--master-データ= 2 --flush-ログ> /バックアップ/ dbfull- date +%F.SQL

バックアップファイルを圧縮する必要がある場合は、次のコマンドを使用することができます。

mysqldumpを-uroot -p --single-トランザクション--all-データベース--master-データ= 2 --flush-ログ| gzipで> dbfull- date +%F.tar.gzの

すべてのデータベース、記録binlogの位置(主従関係を確立するための出発点、または指定した時刻にリカバリポイントをコピー)、バックアップトランザクションの道をバックアップするコマンドは、メインランタイムライブラリのバックアップには影響を与えません。

あなたは、ローカルディスクのバックアップの場合は、バックアップファイルはまた、30日のクリーンアップのスクリプトの前にバックアップファイルをクリーンアップとして、定期的な清掃を必要とする次のように参照することができます。

; - "* SQL dbfull" -execのrm -rf {} \ /バックアップ-mtime +30 -nameを見つけます

エンタープライズクラスのプラットフォームでのシロナガスクジラの普及に伴い、そのデータを格納するためのMySQLデータベースがスムーズに実行されているデータのセキュリティとMySQLのサービスを確保する必要があり、本明細書中に記載されているいくつかの問題は、問題の共通の原因であるプラットフォームを使用することはできません、その処理方法実施形態は、検証されており、使用環境を生成する、このような問題点を基準として扱うことができます。

おすすめ

転載: blog.51cto.com/11811406/2401023