MySQL Clone Plugin


🔨 Clone Plugin?
  • ローカルまたはリモートのMySQLサーバインスタンスでデータをコピーできる
  • 複製されたデータは、Schema、Table、Table、TablespaceおよびData Dictionary Metadataを含む、InnoDBに格納されたデータからの物理スナップショット
  • である
  • 複製されたデータは、完全なデータディレクトリ
  • を含む.
    🔨 クローンプラグインのインストール
    mysql> INSTALL PLUGIN clone SONAME 'mysql_clone.so';
    
    mysql> show plugins;
    +---------------------------------+----------+--------------------+----------------+---------+
    | Name                            | Status   | Type               | Library        | License |
    +---------------------------------+----------+--------------------+----------------+---------+
    | clone                           | ACTIVE   | CLONE              | mysql_clone.so | GPL     |
    +---------------------------------+----------+--------------------+----------------+---------+
    🔨 データ複製
    📌 ローカルデータ複製
    -- 계정 생성
    mysql> CREATE USER 'clone_user'@'%' identified by 'password';
    mysql> GRANT BACKUP_ADMIN ON *.* TO 'clone_user';
    
    -- 로컬 데이터 복제
    mysql> CLONE LOCAL DATA DIRECTORY = '/mysql/clone';
    
    -- 복제 확인
    $ ls /mysql/clone
    #clone  ib_buffer_pool  ib_logfile0  ib_logfile1  ibdata1  mysql  mysql.ibd  sys  undo_001  undo_002
    📌 リモート・データ・レプリケーション
    -- Donor 계정 생성 in local server
    mysql> CREATE USER 'donor_clone_user'@'%' IDENTIFIED BY 'password';
    mysql> GRANT BACKUP_ADMIN on *.* to 'donor_clone_user'@'%';
    
    -- Recipient 계정 생성 in remote server
    mysql> CREATE USER 'recipient_clone_user'@'%' IDENTIFIED BY 'password';
    mysql> GRANT CLONE_ADMIN on *.* to 'recipient_clone_user'@'%';
    
    -- Clone in remote server
    mysql> SET GLOBAL clone_valid_donor_list = 'donor_host:3306';
    mysql> CLONE INSTANCE FROM 'donor_clone_user'@'192.168.20.10':3306 IDENTIFIED BY 'password' DATA DIRECTORY = '/mysql/clone';
    
    $ ls /mysql/clone
    #clone  ib_buffer_pool  ib_logfile0  ib_logfile1  ibdata1  mysql  mysql.ibd  sys  undo_001  undo_002
    🔨 せいげんじょうけん

  • レプリケーション操作中にDDLは許可されません(TRUNCATE TABLEを含む)

  • MySQLバージョンが異なる場合はコピーできません

  • 一度にコピーできるのはMySQLインスタンスが1つだけです

  • Xプロトコルポートにリモートコピーできません(mysqlx port)

  • サーバ構成(my.cnf)レプリケーションはサポートされていません

  • バイナリ・ログ・レプリケーションはサポートされていません

  • InnoDBテーブルのみのコピー(システムアーキテクチャを含む、アーキテクチャに格納されているMyISAMテーブルとCSVテーブルを空のテーブルにコピー)

  • MySQLルータによるDonor MySQLサーバへの接続はサポートされていません

  • ローカル・レプリケーションでは、絶対パスによって作成された一般的な表領域のレプリケーションはサポートされていません.