タグ付けされた質問 「mysql-replication」

レプリケーションにより、1つのMySQLデータベースサーバー(マスター)からのデータを1つ以上のMySQLデータベースサーバー(スレーブ)にレプリケートできます。

10
MySQLから特権をエクスポートして、新しいサーバーにインポートするにはどうすればよいですか?
私はmysqldumpを使用してデータベースをエクスポート/インポートする方法を知っていますが、それは問題ありませんが、新しいサーバーに特権を取得するにはどうすればよいですか? 余分な点については、新しいデータベースにいくつかの既存のデータベースが既にあります。既存のデータベースを削除せずに古いサーバーの権限をインポートするにはどうすればよいですか。 古いサーバー:5.0.67-community 新しいサーバー:5.0.51a-24 + lenny1 編集:古いサーバーからデータベース「mysql」のダンプを取得しましたが、新しいサーバーの「mysql」dbとマージする適切な方法を知りたいと思います。 phpMyAdminを使用してまっすぐな「インポート」を試みましたが、重複(既に手動で移行したもの)に関するエラーが発生しました。 誰かが2つの「mysql」データベースをマージするエレガントな方法を手に入れましたか?

5
MySQLスレーブを同時にマスターにすることはできますか?
2つのDBサーバー(マスターとスレーブ)を2つの新しいDBサーバー(マスターとスレーブ)に移行中です DB1-マスター(実動) DB2-スレーブ(本番) DB3-新しいマスター DB4-新しいスレーブ 現在、レプリケーションは次のように設定されています。 DB1 -> DB2 DB3 -> DB4 運用データを新しいサーバーに複製するには、次のように「デイジーチェーン」で接続します。 DB1 -> DB2 -> DB3 -> DB4 これは可能ですか?show master status;DB2(本番スレーブ)で実行すると、binlogの位置は決して変わらないようです: + ------------------ + ---------- + -------------- + ---- -------------- + | ファイル| 位置| Binlog_Do_DB | Binlog_Ignore_DB | + ------------------ + ---------- + -------------- + ---- -------------- + …

4
すべてのデータベースのMySQL Master-Masterレプリケーション。どうやって?
背景:この優れたガイドに従って、Master-Master row-based-replication(RBR)で2つのMySQL 5.1サーバーをセットアップしています。すべてのデータベースを複製し、定期的に新しいデータベースを追加します。 目標:DBをサーバーの1つに追加するだけで、レプリケーションに新しいデータベースを追加できるようにしたいと思います。 両方のスレーブを停止し、構成ファイルを変更し、MySQLサーバーを再起動し、スレーブを再起動する必要はありません。 質問は:私が何を読んでから、私は考えて、私は単にいずれかを省略することによって、これを行うことができbinlog-do-db、binlog-ignore-db、replicate-do-db、およびreplicate-ignore-db各サーバーの構成の設定が、私は確認することはできません。データベースレベルとテーブルレベルのレプリケーションオプションの評価方法に関するMySQLのドキュメントを見ると、これを達成する方法はまったくないと思われます。 /etc/mysql/my.cnfファイルの関連部分を以下にコピーします。私は正しい軌道に乗っていますか?私が望んでいることも可能ですか? マスター1: [mysqld] binlog-format = row server-id = 1 replicate-same-server-id = 0 auto-increment-increment = 2 auto-increment-offset = 1 master-host = <master2_ip> master-user = slave_user master-password = <password> master-connect-retry = 60 log-bin = /var/log/mysql/mysql-bin.log relay-log = /var/lib/mysql/slave-relay.log relay-log-index = /var/lib/mysql/slave-relay-log.index expire_logs_days = 14 max_binlog_size = …

2
`mysql`データベースを複製しても大丈夫ですか?
最初にマスターツーマスターレプリケーションをセットアップしたときに、次を使用しました。 binlog-ignore-db=mysql ユーザーアカウントと付与を手動で同期しています。これは、単に私が当時使用していたハウツーで行われた方法です。しかし、この行を削除して、mysqlデータベース自体も複製することを許可しない理由はありますか? もしそうなら:私が変更を行う前に、すべての許可が両方で同じであることを確認することに加えて(または、より正確に言うと、mysqlデータベース全体が同一である)、他に何かを再確認する必要があるか、または注意する必要がありますか?

5
MySQLスレーブへの非レプリケーション書き込みを防止しますか?
パフォーマンスのために、行ベースのレプリケーションを設定したMySQLデータベースサーバーがいくつかあります。ソフトウェアはマスターに書き込み、マスターまたはスレーブのいずれかから読み取ります。ほとんどの場合、すべてがうまく機能しています。 MySQLがMySQLスレーブであることを知っていても、MySQLがスレーブへの書き込みを許可することは私の理解です。理想的には、私はこれを閉じたいので、誰かが読み取り接続を取得して実行する悪いコードを書いてもUPDATE、スレーブにデータを置くのではなくエラーをスローします。 MySQLでこれを行う方法はありますか?ソフトウェアからもこれを不可能にしたいのは明らかですが、サーバー上のファイアウォールのように、可能な限り防御したいと思います。 ありがとう!

5
glusterfsの上でmysqldを実行できますか?
私は最近glusterfsで遊んでいます。 私が試してみたいのは、DRBDの上でMySQLを実行できるのと同様の方法で、glusterfsの上でmysqldを実行することです。 私はMySQLレプリケーションと、このアプローチの代わりにそれを使用する利点に精通しており、MongoDBおよび他のNoSQLソリューションも知っています。 ただし、MySQLをそのままにして、基礎となるファイルシステムを複製できれば、これから予定しているいくつかの特定のプロジェクトに対する簡単なソリューションになります。 これは可能ですか?それがどこにある場合、どのように見つけることができますか?

3
最小限のダウンタイムでMySQLレプリケーションをセットアップする方法
基本的に、大規模なMySQLデータベースがあり、スレーブ(マスタースレーブセットアップ)へのレプリケーションを実行しようとしています。データベースで最小ダウンタイムを使用してこれを行う方法について、順を追ったガイドはありますか?データベースのバックアップとスレーブサーバーへのバックアップの転送(プライベートネットワーク経由でも)には、40分程度かかります。かなり長いダウンタイム。

5
MySQLエラー1062の原因-スレーブの起動時にエントリが重複していますか?
MySQLマスターバージョン:5.5.16-1 MySQLスレーブバージョン:5.5.18-1 マスターのスナップショットは次によって作成されます。 mysql> FLUSH TABLES WITH READ LOCK; shell> mysqldump --all-databases --master-data > dbname_`date +%F`.sql このダンプファイルは、--skip-slave-startエラーなしで(オプションで開始される)スレーブにインポートされます。 shell> pv dbname_`date +%F`.sql | mysql -u root -p しかし、実行時に次のエラーが発生しましたmysql> start slave;: Last_SQL_Errno: 1062 Last_SQL_Error: Error 'Duplicate entry '115846' for key 'PRIMARY'' on query. Default database: 'db'. Query: 'INSERT INTO request_posted (id, user_id, …

3
地理的に離れたサーバー間でのMySQLレプリケーション
私の組織は、バックアップを最新の状態に保ち、理想的には負荷を分散しながら、サーバーを地理的に分散する方法を検討してきました。 私が最初に念頭に置いているのは、Rails on MySQLです。書き込み速度はあまり高くありません(記事/コメントは1分あたり1未満で残っていますが、大きなメディアが添付されているものもあります)。 そう、 MySQLの複製は広域ネットワーク全体でうまく機能しますか? 接続(またはスレーブサーバー)がダウンすると、手動の介入が必要になることを意味しますか(2つのサーバーが再び相互に通信できるようになった後)、または回復は自動的に行われますか? マスターが消えた場合、スレーブをマスターに変えるには何が必要ですか?それを管理するのに役立つ標準のスクリプト/ツールはありますか? 他の落とし穴など?

1
max_binlog_size&ログビンサイズ
ディスク全体に問題がある -rw-rw---- 1 mysql mysql 1073741982 2012-07-03 18:14 mysql-bin.000034 -rw-rw---- 1 mysql mysql 1073741890 2012-07-04 14:39 mysql-bin.000035 -rw-rw---- 1 mysql mysql 1073741988 2012-07-05 09:16 mysql-bin.000036 -rw-rw---- 1 mysql mysql 1073741964 2012-07-06 00:04 mysql-bin.000037 -rw-rw---- 1 mysql mysql 1073741974 2012-07-06 21:45 mysql-bin.000038 -rw-rw---- 1 mysql mysql 1073741923 2012-07-07 19:05 mysql-bin.000039 -rw-rw---- …

1
マスター-マスターレプリケーションのリカバリ戦略
マスター/マスターレプリケーションに基づいてMySQLのHAソリューションを実装しました。フロントエンド部分には、一度に1つのdbのみが読み書きされることを保証するメカニズムがあります(つまり、HAのレプリケーションのみを使用します)。 レプリケーションが期待どおりに機能することを確認しましたが、障害のシナリオと回復について疑問に思っています。特に、一方のマスターが回復不可能な状態で失敗し、もう一方のマスターから再作成する必要がある場合にどうなるかについて心配しています。 他のマスターはライブで使用されている可能性が高いため、ロックしてダンプを作成することはできませんmysqldump(データベースは適度に大きく、mysqldump数か月使用すると数時間かかることがあります)。 ダンプがあると仮定しても、データベースがロックされた後に実行されるダンプにSHOW MASTER STATUSで示されるbinlogの位置が対応していることが重要です。 最初の問題の簡単な解決策は、バックアップとして機能する3番目のデータベースを使用することですmysqldump。しかし、どのようにして、再作成されたマスターが一貫した方法で実行中のマスターからレプリケーションを開始できることを確認できますか?

2
sql_errorの後でmysqlレプリケーションを再起動します
2つのmysqlサーバーがあり、1つはマスター、もう1つはスレーブです。 誰かがスレーブに行ってテーブルを作成し、次にマスターに行って同じテーブルを作成しました。もちろん、このDDLステートメントはスレーブに複製されたため、エラーが発生し、エラーの発生時に複製が停止しました。 スレーブのテーブルを削除した後、またはそのステートメントの後にレプリケーションを開始した後に、レプリケーションプロセスをどの程度再開する必要がありますか? スレーブステータス出力を表示します。 mysql> show slave status \G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: xx.xx.xx.xx Master_User: buildbot Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.024536 Read_Master_Log_Pos: 33489509 Relay_Log_File: mysqld-relay-bin.049047 Relay_Log_Pos: 32575097 Relay_Master_Log_File: mysql-bin.024476 Slave_IO_Running: Yes Slave_SQL_Running: No Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 1050 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.