1. 程式人生 > >mysql5.5主從經驗分享

mysql5.5主從經驗分享

liunx mysql5.5 主從

方法一:
第一步:修改配置文件my.conf
修改部分:server-id=1 (1為master數據庫,2為slave數據庫)
log-bin=master-bin (master-bin和slave-bin便於區分)
socket = /r2/mysqldata/mysql.sock 數據庫sock位置
第二部分:重啟數據庫。(主備都重啟)
第三部分:在主數據庫上創建用於主從復制的賬戶
[root@master ~]# mysql -uroot –p123456
mysql> GRANT REPLICATION SLAVE ON . TO ‘root‘@‘slave_IP‘ IDENTIFIED BY ‘123456‘;
第四部:主數據庫鎖表(禁止再插入數據以獲取主數據庫的的二進制日誌坐標)
mysql> flush tables with read lock;(這一步看自己實際情況,有些必須有些不是必須的)
第五步:查看主數據庫的狀態(並記錄下File字段和Position字段的值,在配置從服務器時有用到)

第六步:導出master數據庫。
#mysqldump -uroot -p123456 --all-databases --triggers --routines --events >
/home/alldatabases.sql
第七步:解鎖master數據庫鎖表操作

mysql -uroot -p (本命令在主數據庫服務器上執行)

mysql> unlock tables;
第八步:把master到處的數據庫同步到slave數據庫上;
第九步:在slave數據庫上導入master的數據庫

mysql -uroot –p123456 < /home/alldatabases.sql

第十步:在從數據庫服務器上設置主數據庫服務器向從數據庫服務器同步

mysql -uroot –p123456

mysql> change master to master_host = ‘172.16.244.31‘,master_user=‘root‘,master_password=‘123456‘,master_log_file=‘master-bin.000015’,master_log_pos=120;

第十一步:啟動從數據庫復制線程
mysql> start slave;
第十二步:查詢從數據庫的復制線程狀態
mysql> show slave status \G
如果 Slave_IO_Running: Yes
Slave_SQL_Running: Yes
此兩項為yes則主備成功;如果不成功重新操作;但在第十步操作如下:

mysql -uroot –p123456

mysql>stop slave;
mysql>reset slave;
mysql> change master to master_host = ‘172.16.244.31‘,master_user=‘repl‘,master_password=‘123456‘,master_log_file=‘’master-bin.000011‘,master_log_pos=330;
如果之前做過主從備份,記得master上執行 mysql>reset master; 從數據庫操作 stop slave; reset slave;
change master to master_host = ‘172.16.244.31‘,master_user=‘root‘,master_password=‘123456‘,master_log_file=‘master-bin.000169‘,master_log_pos=57496820;

方法二:
mysqldump -u root -p123456 --single-transaction --events --triggers --routines --flush-logs --master-data=2 --all-databases > xx.sql這是導所有數據庫
grep -i "change master" xx.sql通過這個取出sql中的同步點。導入後就可以用這個信息重新做同步點

mysql5.5主從經驗分享