MySQL服务器的主从复制过程简析

来源:未知 责任编辑:责任编辑 发表时间:2015-09-17 09:42 点击:

对于MySQL服务器的主从复制分为两种情况:
 
一、两台MySQL服务器中都没有数据
 
在复制结构中从服务器的mysql的版本要比主服务器的一样或者高也行。 
###################################################################################################### 
1、在主服务器上修改配置文件: 
vim /etc/my.cnf  www.2cto.com   
/修改: 
server-id = 1 (默认是1) 
 
# service mysqld restart 
 
  2、连接到mysql数据库创建用户并赋于复制的权限 
mysql>GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO repl@'172.16.%.%' IDENTIFIED BY '123456'; 
   
 3、在从服务器上修改配置文件:
 
vim /etc/my.cnf 
修改: 
servier-id = 11 
关掉二进制日志 
  # log-bin=mysql-bin 
添加如下内容: 
relay-log=relay-bin 
relay-log-index=relay-bin.index 
# service mysqld restart
 
4、在主和从服务器上分别清空一下日志
 
用命令:mysql>flush master;
 
同时在从服务器上也清空一下日志 
在从服务器上:mysql> flush slave; 
 要使主从服务器的日志位于相同一个结点,否则会出错。  

5、清空日志后就可以连接到主服务器上了 
mysql> CHANGE MASTER TO  www.2cto.com   MASTER_HOST='172.16.35.1',MASTER_USER='repl',MASTER_PASSWORD='123456'; 
用命令:mysql> show slave status\G 来查看一下是否已经连接上 
如果出现以下结果表明连接成功,则连接失败。 
Slave_IO_Running: Yes 
Slave_SQL_Running: Yes 
  6、连接失败的原因有多种: 
最常见的情况分别是:1、在主服务器上的用户可能出错 
2、没有重新滚动一下主从服务器的日志,在连接前有必要重新滚动一下。 
 
 7、 最后 
在主服务器上创建或者删除数据库、表,就可以同步到从服务器上了。 
在从服务器上也可以查看到从服务器要比主服务器慢多少时间用命令: 
mysql> show slave status\G 
定位到:Second_Behind_Master:0 (0,表示时间说明没有延迟) 
 
二、主服务器上已经有数据,此时再开启从服务器 
 1、在开启从服务器之前要先把主服务器上的数据导入从服务器中。所以要先备份一下主服务器上的数据 
# mysqldump --all-databases --lock-all-tables --master-data=2 > /tmp/slave.sql 
2、将备份复制到从服务器中 
# scp /tmp/slave.sql 172.16.35.2:/tmp/ 
3、在从服务器上,把备份导入服务器中  
mysql> source /tmp/slave.sql 
4、下面就可以连接了,但是在连接之前要先查看备份的文件 
用命令head来查看 
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Oracle数据导入MySQL的快捷工具:MySQL Migration Toolkit
  • 简简单单储存过程——循环一个select结果集
  • MySQL Stmt预处理提高效率问题的小研究
  • 用批处理启动MySQL命令行工具
  • MySQL数据库十大优化技巧
  • mysqldump命令——MySQL数据库备份还原
  • Mysql主主复制架构配置
  • mysql-mmm
  • Mysql安装笔记
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1