MySQL主从同步部署总结

2014-11-24 18:49:11 · 作者: · 浏览: 0

主:192.168.1.124


从:192.168.1.125


数据库1/data/3306/ 数据库2/data/3307/



1、修改主库my.cnf


============================


# vi /etc/my.cnf


server-id = 1


log-bin


============================


2、重启主库生效


=======================


#/data/3306/mysql stop


#/data/3306/mysql start


=======================


3、登陆主库


================================


#mysql -uroot -p -S /data/3306/mysql.sock


================================


4、赋予从库权限账号,允许用户在主库上LOAD TABLELOAD DATA


====================================================================


mysql> GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO repl@192.168.1.125 IDENTIFIED BY '123456';


====================================================================


5、检查创建是否成功


====================================================================


select user,host from mysql.user;


================================================


6、锁主库表


===========================


mysql> FLUSH TABLES WITH READ LOCK;


===========================


7、显示主库信息


记录FilePosition,从库设置将会用到


=====================


mysql> SHOW MASTER STATUS;


=====================


+---------------+----------+--------------+------------------+


| File | Position | Binlog_do_db | Binlog_ignore_db |


+---------------+----------+--------------+------------------+


| mysql-bin.030 | 870279 | | |


+---------------+----------+--------------+------------------+



8、另开一个终端登陆124,打包主库迁移数据


============================


# cd /data/3306


# tar zcvf data124.tar.gz ./data


============================




二、设置从库


1、传输拿到主库包、解包


==============================


登陆从库


#cd /..


#rz //a.tar.gz上传


#tar zxvf a.tar.gz //解压


==============================


2、解锁主库表


=================


mysql> UNLOCK TABLES;


=================


3、修改从库my.cnf


====================


# vi my.cnf


# slave


server-id=2


====================


4、重启从库生效


=====================


#/data/3306/mysql stop


#/data/3306/mysql start


=====================


5、验证连接主库


============================


# mysql -h192.168.1.124 -urepl -p123456


mysql> show grants for repl@192.168.1.125;


============================


6、在从库上设置同步


设置连接MASTER MASTER_LOG_FILE为主库的FileMASTER_LOG_POS为主库的Position


=============================


change master to master_host='192.168.1.124', master_user='repl', master_password='123456', master_log_file='mysql-bin.030', master_log_pos=870279;


=============================


7、启动从库服务


===========================


mysql> slave start;


===========================


8、检查从库状态


===========================


show slave status \G


=========================


若是两个yes则启动成功!





判断从数据库同步状态。


mysql -uroot –p123456 -e "show slave status\G" | sed -n '/Yes/'p | wc -l


mysql -uroot -p'123456' -S /data/3307/mysql.sock -e "show slave status\G" | sed -n '/Yes/'p | wc -l


=2为正常。



生产例子:


mysql slave记录binlog方法


Vi my.cnf


log-slave-updates


log-bin = /data/3307/mysql33-bin


expire_logs_days = 7