您的位置:首页 > 数据库 > MySQL

mysql 主从复制配置步骤

2016-06-23 18:44 721 查看

1、准备两台数据库环境,或者单台多实例环境,能否正常启动和登录。

2、配置my.cnf文件,主库配置log-bin和server-id参数,从库配置server-id,不能和主库及其他从库一样,一般不开启从库log-bin功能。注意:配置参数后要重启生效。

3、登录主库增加用于从库连接主库同步的账户例如:rep,并授权replication slave同步的权限。

4、登录主库,整库锁表flush table with read lock(窗口关闭后即失效,超时参数到了也失效);然后show master status查看binlog的位置状态。

5、新开窗口, linux命令行备份或导出原有的数据库数据,并拷贝到从库所在的服务器目录。

   如果数据量很大,并允许停机,可以停机打包,而不用mysqldump。

6、解锁主库,unlock tables;

7、把主库导出的原有数据恢复到从库。

8、根据主库的show master status查看binlog的位置状态,在从库执行change master to.. 语句。

9、从库开启同步开关,start slave。

10、从库show slave status\G ,检查同步状态,并在主库进行更新测试。

 

一,主库配置

1.主库配置/etc/my.cnf 

增加server-id 和 bin-log

 

# vim /etc/my.cnf

server-id = 128 log-bin = mysql-bin       2.主库配置授权账号 grant replication slave on *.* to rep@'192.168.6.%' identified by 'ruowei123';  flush privileges;  3.重启主库 # /etc/init.d/mysqld restart   4.主库锁  flush table with read lock;   5.查看master位置信息 show master status;
  6.导出主库数据 mysqldump -uxxx -p > mysql_bak    7.主库解锁 unlock table;   二、从库配置  

1.从库配置/etc/my.cnf 

增加server-id 和 bin-log

 

# vim /etc/my.cnf

server-id = 129 #如果需要在从库上做bin-log备份可以添加如下参数 log-bin = mysql-bin    log-slave-updates = 1      2.重启数据库 # /etc/init.d/mysqld restart   3.恢复主库数据到从库 # mysql -uroot < mysql_bak.sql    4.登录从库配置同步参数 mysql> CHANGE MASTER TO     -> MASTER_HOST='192.168.6.128',     -> MASTER_USER='rep',     -> MASTER_PASSWORD='ruowei123',     -> MASTER_LOG_FILE='mysql-bin.000001',     -> MASTER_LOG_POS=120; Query OK, 0 rows affected, 2 warnings (0.09 sec)   5.启动从库同步开关 start slave;   6.查看同步状态 show slave status\G; 或者 # mysql -uroot -e "show slave status\G "|egrep "Seconds_Behind_Master|_Running"
   

判断复制是否搭建成功就看如下IO和SQL两个线程是否显示为Yes状态,

Slave_IO_Running: Yes  #负责从库去主库读取BINLOG日志,并写入从库的中继日志中

Slave_SQL_Running: Yes  #负责读取并执行中继日志中的BINGLOG,转换SQL语句后应用到数据库汇总

                                   



来自为知笔记(Wiz)



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: