1. 程式人生 > 實用技巧 >解決刪除映象時image is referenced in multiple repositories

解決刪除映象時image is referenced in multiple repositories

環境說明

主機名 IP 角色 資料庫
node1 192.168.114.129 MySql demo
node2 192.168.114.133 Mysql demo

目標

開啟主從複製,並保證node1 和 node2 節點資料的一致性。

主資料庫node1

建立測試資料
mysql> create databse demo default charset utf8;
mysql> use demo;
mysql> CREATE TABLE `school` (
  `id` varchar(32) NOT NULL,
  `school_name` varchar(32) NOT NULL COMMENT '學校名稱',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='學校';

mysql> insert into school values('1','北京大學');
mysql> insert into school values('2','清華大學');


建立同步賬號
mysql> create user 'sync'@'192.168.114.%' identified by '123456';
mysql> grant replication slave on *.* to 'sync'@'192.168.114.%';
mysql> show master status;
匯出測試資料
mysql> mysqldump --master-data=2 --single-transaction --routines --triggers --events -uroot -p demo > demo.sql
  • --master-data=2 change master to 作為註釋新增到dump檔案中 , 1 表示作為語句出現在dump檔案中
  • --routines 匯出儲存過程
  • --triggers 觸發器
  • --events 事件
複製到從資料庫上
scp demo.sql [email protected]:/www/sql

從資料庫node2

mysql -uroot -p -e"create database demo default charset utf8";
#匯入資料
mysql -uroot -p demo< demo.sql

#設定master資訊
change master to master_host='192.168.114.129',master_user='sync',master_log_file='mysql-bin.000001',MASTER_LOG_POS=154,master_password='123456';


#master_host : master 主機ip
#master_log_file : dump後的日誌記錄了這個值
#MASTER_LOG_POS : dump後的日誌有這個值,記錄了日誌的位置


#開啟複製鏈路
mysql> start slave;
mysql> show slave status \G

tips

主資料庫必須開啟bin log日誌
每個資料庫配置不同的server_id 和 uuid

vim /etc/my.cnf
    log-bin=mysql-bin
    server_id=9