mysql 版本: http://www.mysql.com/get/Downloads/MySQL-5.5/MySQL-server-5.5.29-1.rhel5.x86_64.rpm.
master: vi/etc/my.cnf
add content:
log-bin = master-bin
log-bin-index = master-bin.index
在 master 上創建 複製用戶:
run shell: create user repl_user;
run shell: grant replication slave on *.* to repl_user identified by 'Zjw11763';
slave: vi/etc/my.cnf
add content:
server-id = 2
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
##// server-id should be different;
這個時候 master slave 數據庫都是一致的,先查看 master 上當前 日誌情況
在 master 上 執行 shell:show master status\G;
返回值:
*************************** 1. row ***************************
File: master-bin.000004
Position: 1369
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)
ERROR:
No query specified
從 master 上最新位置開始同步數據
change master to
master_host='vm-1bd6-3d6d.nam.nsroot.net',
master_port=3309,
master_user='repl_user',
master_password='Zjw11763',
master_log_file='master-bin.000004',
master_log_pos=1369;
然後啓動 slave,
start slave;
關於 指向 日誌位置問題 也可以用方法二(master slave 數據一致的情況下):
stop slave;
reset slave;
reset master;
start slave;
#stop slave;
#set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
#start slave;
數據庫導出:
mysqldump -A -h 'vm-1bd6-3d6d.nam.nsroot.net' -P 3309 -p --master-data=1> /home/jz54495/BACKUP.sql
##// 加上 master-data=1 在dump 文件中有自動將位置 指向 master 最新位置的 語句 不需要自己重新 change master to ..............
恢復:
mysql --host='vm-a2eb-5b5d.nam.nsroot.net' -u root -p -P 3309 </home/jz54495/BACKUP.sql
如果hive使用此主從 複製模式選擇 混合模式