更多博文請關注:沒有傘的孩子必須努力奔跑 (www.xuchanggang.cn)mysql
在上一篇博文中,提到使用xtrabackup工具來實現熱備,這篇我經過mysqldump來實如今線添加從機linux
# 使用mysqldump進行備份,使用--master-data參數:此值有1和2,你們能夠本身google如下 [root@client101 ~]# mysqldump -uroot -pkongzhong --opt --hex-blob --single_transaction -R --default-character-set=utf8 --master-data=2 login>/tmp/login.sql # 再開一個端口,插入數據 mysql> insert into a select * from a; # 備份完畢後,咱們查看剛纔的備份發現,master的日誌文件和pos號 [root@client101 ~]# grep -i "change master" /tmp/login.sql -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-101-bin.000007', MASTER_LOG_POS=107; # 我剛纔在備份的時候也插入數據的,我再看看主上實際的日誌文件和pos號 mysql> show master status; +----------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +----------------------+----------+--------------+------------------+ | mysql-101-bin.000007 | 532 | | | +----------------------+----------+--------------+------------------+ # 如今咱們利用備份還原,利用備份的裏的pos號,看可否追上主
[root@client101 ~]# scp /tmp/login.sql 192.168.1.100:/tmp
[root@client100 tmp]# mysql -uroot -pkongzhong login </tmp/login.sql # 修改配置文件:/etc/my.cnf replicate-wild-do-table=login.% innodb_file_per_table=1 report-host=192.168.1.100 innodb_lock_wait_timeout=1 expire_logs_days= 3 max_binlog_size= 100M server-id=100 # 從新啓動數據庫 [root@client103 mysql]# /etc/init.d/mysqld restart
# 備份文件裏有備份時的master日誌文件和pos號 [root@client100 ~]# grep -i "change master" /tmp/login.sql -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-101-bin.000007', MASTER_LOG_POS=107; # 創建主從關係 mysql> change master to master_host='192.168.1.101', -> master_user='slave', -> master_password='slave', -> master_log_file='mysql-101-bin.000007', -> master_log_pos=107; # 開啓同步 mysql> start slave; # 查看同步狀態 mysql> show slave status\G;