mysqlのマスター・スレーブレプリケーション、サーバー、またはドッカーコンテナ

レプリケーションを設定MySQLはMySQLのドキュメントを参照してください。

マスターチェックでバイナリが有効になってログインしている場合:
「log_bin」のようなショーの変数は、MySQLのバイナリログは、SQLコマンドを使用して有効であるかどうかを知る方法を参照してください?

1.Config my.cnfの
マスター:

[mysqld]
log-bin=mysql-bin
server-id=1

1つの
2
3
スレーブ。

[mysqldを】
サーバID = 2
1
2

  1. ユーザーを作成し、複製のための権限を付与します(マスター上スレーブによって使用されるユーザーを作成します)
    example.comドメイン内の任意のホストからの複製のために接続することができ、新しいユーザー、REPLを設定するには、例えば、問題マスター上のこれらのステートメント:

MySQLは>「パスワード」で識別されるユーザ「repl'@'%.example.com」を作成します。
MySQLの> GRANT REPLICATION SLAVE ON TO 'repl'@'%.example.com';
1
2
必要に応じて実行FLUSH PRIVILEGESの場合は、更新または付与後paswordテーブルをロードします

  1. (マスター上の)レプリケーションマスタのバイナリログの座標を取得
    セッションを開始し、読み込みロックでMySQLをロックし、
    MySQLの>のREAD LOCK WITH FLUSH TABLESを。
    別のセッションでは、現在のバイナリログファイル名と位置を取得します

MySQLの> SHOWのマスターステータス。
+ ------------------ + ---------- + -------------- + ---- -------------- +
| ファイル| 位置| Binlog_Do_DB | Binlog_Ignore_DB |
+ ------------------ + ---------- + -------------- + ---- -------------- +
| mysqlの-bin.000003 | 73 | テスト| マニュアルは、MySQL |
+ ------------------ + ---------- + -------------- + ---- -------------- +
1
2
3
4
5
6

  1. (マスター上)のmysqldumpを使用して、データのスナップショットを作成する
    シェル> mysqldumpを-uルート-p --all-データベース--master-データ> dbdump.dbまたはシェル> mysqldumpを-uルート-pデータベース名--master-データ>データベース名。デシベル

注記:-master-データドキュメント、使用時--master-データ= 2

猫backup.db | もっと

- ホスト:localhostのデータベース:XXXXX


- Serverバージョン5.5.60-MariaD

-
-複製またはからのポイント・イン・タイム・リカバリを開始する位置

; - MASTER_LOG_FILE = 'マスター-bin.000011'、MASTER_LOG_POS = 107962617 TO CHANGEのMASTER

1
2
3
4
5
6
7
8
9
10
11
12

  1. (マスター上)ロックを解除して
    MySQLの> UNLOCK TABLESを。

  2. (スレーブ上)負荷デシベル
    シェル>のmysql -uルート-p <dbdump.db
    または
    シェル>のmysql -uルート-pデータベース名<database_name.db(ここでは多分データベース名を最初に作成する必要があります)
    、スレーブを起動>スレーブMySQLを起動し
    得る多分こここのエラーERROR 1200(HY000):サーバがスレーブとして構成されていません。設定ファイルまたはTO CHANGEのMASTERで固定し
    、それを解決するために、スレーブにマスターのコンフィギュレーション設定。

MySQLの> CHANGE MASTERのTO
- > MASTER_HOST = 'master_host_name'、
- > MASTER_USER = 'replication_user_name'、
- > MASTER_PASSWORD = 'replication_password'、
- > MASTER_LOG_FILE = 'recorded_log_file_name'、
- > MASTER_LOG_POS = recorded_log_position。
1
2
3
4
5
6
MySQLを再起動する必要がある場合は、次の再起動または再起動/etc/init.d/mariadb /etc/init.d/mysql

  1. あなたがドッキングウィンドウコンテナに複製を実行したい場合は、ドッキングウィンドウのMySQLのマスタとスレーブのためのMySQLのレプリケーションを参照してください。

  2. また、単にドッキングウィンドウでのMySQLのスレーブを実行することができます

  3. インストールと設定]ドッキングウィンドウ
    ドッキングウィンドウをインストール

sudoのヤムヤム-utilsのインストール-yデバイスマッパー永続データLVM2
のsudoのyum-config設定マネージャは--add-レポhttps://download.docker.com/linux/centos/docker-ce.repo
にsudo yumのドッキングウィンドウをインストール-ce
1つの
2
3
アンドッキングウィンドウのsudo yumのドッキングウィンドウ-CE削除
ドッキングウィンドウの開始systemctl開始ドッキングウィンドウのsudoを
sudoの上のOSがドッキングウィンドウ有効systemctlときオートスタートドッキングウィンドウを
しない限り、停止のRedis、参照するオートスタートコンテナのドッキングウィンドウが-dit --restart実行し、自動的にコンテナを起動するために
再起動しますコンテナのドッキングウィンドウの再起動containernameの
チェック実行中のコンテナのドッキングウィンドウのPSの
チェック画像はイメージドッキングウィンドウ
の問題を:

Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?)
Solution: `su && service docker start && docker images;`

Warning: failed to get default registry endpoint from daemon (Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.38/info: dial unix /var/run/docker.sock: connect: permission denied)
Solution: run with `sudo`

1
2
3
4
5

  1. ドッキングウィンドウコンテナにmysqlのスレーブを開始
    プル画像ドッキングウィンドウプルのmysql:5.5は、MySQLのドッキングウィンドウを参照してください
    ドッキングウィンドウの実行--nameのmysql-スレーブ-e MYSQL_ROOT_PASSWORDから実行コンテナを=パスワード-d mysqlの:5.5

コンテナのドッキングウィンドウのcp database_name.dbコンテナへのダンプDBコピー:/ルートを
コンテナのドッキングウィンドウの幹部loginto mysql_slaves / binに/ bashのを-it
上記のようにmysqlの設定、その後。
あなたはaptのアップデートでのmy.cnfを編集して、aptのVimをインストールするには、Vimをインストールする必要がありますすることができます

  1. スレーブの状態を確認

MySQLの>ショースレーブステータスの\ G
1行
Slave_IO_State:イベント送信するためのマスターを待っている
192.168.1.186:MASTER_HOST
Master_User:複製
MASTER_PORT:3306
Connect_Retry:60
MASTER_LOG_FILEます。mysql-bin.000051
Read_Master_Log_Pos:245
RELAY_LOG_FILE:80b47762156aリレービンを。 000015
RELAY_LOG_POS:391
のRelay_Master_Log_File:MySQLの-bin.000051
Slave_IO_Running:はい
Slave_SQL_Running:はい
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno:0
LAST_ERROR:
Skip_Counter:0
Exec_Master_Log_Pos:245
Relay_Log_Space:554
Until_Condition:なし
Until_Log_File:
Until_Log_Pos:0
Master_SSL_Allowed:いいえ
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master:0
Master_SSL_Verify_Server_Cert:いいえ
Last_IO_Errno:0
Last_IO_Error:
Last_SQL_Errno:0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id:2
1行セット中の(0.00秒)

おすすめ

転載: blog.51cto.com/14536975/2438345