問題タブ [gtid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - MySQL エラー 1236 GTID 使用時
GTID を有効にして Percona Server にレプリカを作成したいのですが、スレーブ ステータスを表示すると次のエラーが発生します。
通常、スレーブを停止し、リセットし、(スレーブ上で) マスターをリセットし、マスターから新しい GTID_PURGED 値を取得します。しかし今回は、マスターに非常に珍しい値があり、どれを使用するかを決定する方法がわかりません。
新しいバックアップコピーを持つスレーブから、私はこれを取得します:
もう 1 つ、バックアップを作成する前にマスターのバイナリ ログを削除しました。自動 binlog パージは 7 日に設定されています。エラーが示唆しているように、ビンログがパージされたためではないことを私は知っています。
Ubuntu 14:04 と Percona サーバー バージョン 5.6.31-77 を実行しています。
この問題を解決するにはどうすればよいですか? マスターの GTID_PURGED の正しい値は?
mysql - MySQL 5.6 GTID レプリケーションを修復するために空のトランザクションを挿入しても機能しない
このページの手順に従います
スレーブを復元します。しかし、私の場合、gtid_set は
空のトランザクションをスレーブに挿入してスレーブを再起動しようとしたとき、「slave_SQL_Running」はまだ「いいえ」です。
そして、それは
新しいデータがマスターに挿入されると、スレーブはまだマスターに同期できません。ステータスは次のようになります。
どうすればこれを機能させることができますか?
大量のデータがあるため、完全なダンプを実行したくありませんが、完全なダンプには多くの時間がかかります。
mysql - MTS レプリケーションのデッドロック
状況:
Percona MySQL 5.6.32-78.1 で GTID を使用したマスター - マスター - レプリケーションがあります。サーバーには、約 10 のデータベースがあり、設定しましslave_parallel_workers=5
た。1 台のサーバーがフロントエンドの処理に使用され、もう 1 台がバックエンドに使用されます。週に 2 ~ 3 回、バックエンド サーバーのレプリケーションがエラーで停止する
2016-10-25 10:00:01 165238 [Warning] Slave SQL: Worker 4 failed executing transaction '0e7b97a8-a689-11e5-8b79-901b0e8b0f53:22506262' at master log mysql-bin.011888, end_log_pos 9306420; Could not execute Update_rows event on table shop.sessions; Deadlock found when trying to get lock; try restarting transaction, Error_code: 1213; handler error HA_ERR_LOCK_DEADLOCK; the event's master log mysql-bin.011888, end_log_pos 9306420, Error_code: 1213
2016-10-25 10:00:01 165238 [ERROR] Slave SQL: ... The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state. A restart should restore consistency automatically, although using non-transactional storage for data or info tables or DDL queries could lead to problems. In such cases you have to examine your data (see documentation for details). Error_code: 1756
2016-10-25 10:00:01 165238 [Note] Error reading relay log event: slave SQL thread was killed
その理由は何ですか?クロスデータベース DML ステートメントはありません。MTS を使用すると、データベースごとに 1 つのスレッドのみが使用されると思いました (MTS の利点は、複数のデータベース間で並列レプリケーションを使用することです)。応答がデッドロックで中断するのはなぜですか?
編集 2016-10-28:
テーブルのスキーマは次のようになります
現時点では、このエラーはバックエンド側でのみ発生しており、フロントエンド サーバーでは発生していません。現時点では、バイナリ ログが削除されているため、正確なステートメントを貼り付けることができません。ただし、この GTID トランザクション内の唯一のステートメントは、テーブルに対する行ベースの UPDATE です。
mysql - MySQL GTID 一貫性違反
select ステートメントからテーブルを作成しようとしていますが、GTID の一貫性違反が発生します。[HY000][1786] Statement violates GTID consistency: CREATE TABLE ... SELECT.
GTID の一貫性とは何ですか? また、SQL ステートメントを修正して違反を回避するにはどうすればよいですか?
replication - MyQL で特定のチャネルの GTID トランザクションをスキップするには?
次の手順で、GTID ベースのレプリケーションのエラーをスキップできます。
しかし、レプリケーションがチャネル情報で実行されている場合、特定のチャネルのトランザクションをスキップする方法よりも?
stop slaveとstart slaveで「for channel」キーワードを与えることができます。しかし、set GTID_NEXT コマンドなどのように、特定のチャネルのトランザクションをスキップする方法は?
mysql - Q: Mysql ワークベンチで --set-gtid-purged=OFF をデフォルトのエクスポート パラメータとして設定する方法を教えてください。
私は最近Mysql Workbenchで遊んでいますが、エクスポート機能には、必要のない少し面倒な機能が1つあります(もちろん私には)。set-gtid-purged 関数は GUI でデフォルトで AUTO に設定されており、このパラメーターを使用せずにエクスポートするたびに、データ エクスポート - 詳細オプションでオフに変更する必要があります。さらに悪いことに、設定は記憶されていません。
私が作成したすべての DB/接続に対して永続的にオフに設定する方法を誰かが見つけたかどうかを確認したいですか?
wb_options.xml ファイルもチェックしましたが、機能はオフに設定されていますが、何らかの理由で停止していないようです。
ありがとう。