MySQL マスター スレーブ データベースが同期されない問題を解決する 2 つの方法作業中に、Mysqlのマスターデータベースとスレーブデータベースが同期されていないことが判明しました。 1. 非同期の状況マスターライブラリ: mysql>プロセスリストを表示します。 プロセスがスリープしすぎていないか確認します。正常だとわかりました。 マスターステータスを表示します。 それは普通のことだ。 mysql> マスターステータスを表示します。 +-------------------+----------+--------------+-------------------------------+ | ファイル | 位置 | Binlog_Do_DB | Binlog_Ignore_DB | +-------------------+----------+--------------+-------------------------------+ | mysqld-bin.000001 | 3260 | | mysql、テスト、情報スキーマ | +-------------------+----------+--------------+-------------------------------+ セット内の 1 行 (0.00 秒) 次にスレーブをチェックします mysql>スレーブステータスを表示\G スレーブIO実行中: はい スレーブSQL実行中: いいえ スレーブが同期していないことがわかります 2. 解決策ここに2つの解決策があります 方法1: エラーを無視して同期を続行する この方法は、マスター データベースとスレーブ データベースのデータがそれほど変わらない場合、またはデータを完全に統合できない場合、およびデータ要件が厳しくない場合に適しています。 解決する: 奴隷を停止します。 #ステップエラーをスキップしたことを示します。後ろの数字は変数です。set global sql_slave_skip_counter = 1; スレーブを起動します。 次にmysql> show slave status\Gを使用して表示します mysql>スレーブステータスを表示\G スレーブIO実行中: はい スレーブSQL実行中: はい OK、マスターとスレーブの同期ステータスは正常になりました。 。 。 方法2: マスタースレーブを再度実行し、完全に同期する この方法は、マスター データベースとスレーブ データベースのデータが大きく異なる場合や、データを完全に統合する必要がある場合に適しています。 解決手順は次のとおりです。 1.まずメインデータベースに入り、データが書き込まれないようにテーブルをロックします。コマンドを使用します: mysql> 読み取りロック付きのテーブルをフラッシュします。 注:これは読み取り専用としてロックされており、ステートメントでは大文字と小文字は区別されません。 2. データのバックアップを実行する#データをmysql.bak.sqlファイルにバックアップします mysqldump -uroot -p -hlocalhost > mysql.bak.sql ここで注意すべき点が 1 つあります。データベースのバックアップは定期的に実行する必要があります。より便利で、データの安全性を確保できるシェル スクリプトまたは Python スクリプトを使用できます。 3. マスターステータスを確認するmysql> マスターステータスを表示します。 +-------------------+----------+--------------+-------------------------------+ | ファイル | 位置 | Binlog_Do_DB | Binlog_Ignore_DB | +-------------------+----------+--------------+-------------------------------+ | mysqld-bin.000001 | 3260 | | mysql、テスト、情報スキーマ | +-------------------+----------+--------------+-------------------------------+ セット内の 1 行 (0.00 秒) 4. データ復旧のためにMySQLバックアップファイルをスレーブマシンに転送するscp mysql.bak.sql ルート@192.168.128.101:/tmp/ 5.スレーブ状態を停止するmysql> スレーブを停止します。 6. 次に、データベースからmysqlコマンドを実行してデータのバックアップをインポートします。mysql> ソース /tmp/mysql.bak.sql 7. スレーブ同期を設定するスレーブ同期を設定するときは、マスター データベースの show master status 情報内の | File | Position 項目である同期ポイントに注意してください。 マスターを、master_host = '192.168.128.100'、master_user = 'rsync'、master_port=3306、master_password='', master_log_file = 'mysqld-bin.000001'、master_log_pos=3260 に変更します。 8.スレーブ同期を再開するmysql> スレーブを起動します。 9. 同期ステータスを確認するmysql>スレーブステータスを表示\G スレーブIO実行中: はい スレーブSQL実行中: はい 10. メイン データベースに戻り、次のコマンドを実行してテーブルのロックを解除します。テーブルのロックを解除します。 上記は、MySQL データベースのマスター スレーブ同期の問題を解決するための 2 つの方法の詳細です。MySQL のマスター スレーブ データベース同期の問題を解決する詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: 埋め込みJavaScriptと外部リンクの基本的な応用方法
>>: あなたを救うために、私のテーブルは何を使えばいいでしょうか (Haiyu Blog)
文法以下は、MySQL テーブルにデータを挿入するための INSERT INTO コマンドの一般的な...
詳細には立ち入らずに、コードに直接進みましょう。一緒にコミュニケーションを取り、学びましょう。月ごと...
目次トリガーとは何かトリガーを作成する表は次のようになります。さらにいくつかの単語を挙げます。制限と...
序文通常、ファイル内の特定の行を削除したい場合は、まずファイルを開き、削除する内容を見つけて、これら...
私はずっとキャッシュについて学びたいと思っていました。結局のところ、キャッシュはフロントエンドのパフ...
Apache Tika は、さまざまな形式のファイルからファイル タイプを検出し、コンテンツを抽出す...
出典: https://medium.com/better-programming、著者: Fere...
この記事では、大画面ページのスクリーンアダプテーションを実現するためのVueの具体的なコードを参考ま...
1.公式サイトからダウンロードして解凍する参考: 2. 環境変数を設定するMYSQL_HOMEをMy...
MySQL 5.7 を使用すると、Web ターミナル経由でデータベースに中国語の文字を書き込むと文字...
2時間近くかけて、さまざまな方法を試しました。後で、whereでフィルタリングした後のデータ量が1ペ...
目次背景1. クエリ条件に「or」が含まれているため、インデックスが失敗する可能性があります。 2....
JSON (JavaScript Object Notation、JS Object Notatio...
PHP Linux に XML 拡張機能をインストールする1. PHPインストールソースパッケージを...
MySQL でカーソルを宣言する方法: 1. 変数とカーソルを宣言する 結果をvarchar(300...