视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL服务器的主从复制过程简析_MySQL
2020-11-09 18:15:41 责编:小采
文档


bitsCN.com
对于MySQL服务器的主从复制分为两种情况: 一、两台MySQL服务器中都没有数据 在复制结构中从服务器的mysql的版本要比主服务器的一样或者高也行。 ###################################################################################################### 1、在主服务器上修改配置文件: vim /etc/my.cnf /修改: 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 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来查看 head -30 /tmp/slave.sql ##查看前30行的 有一行是: CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=279; 说明备份的位置是:MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=279 所以在连接之前一定要说明这个位置: mysql>CHANGE MASTER TO MASTER_HOST='172.16.35.1',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=279; 返回的结果:Query OK, 0 rows affected (0.02 sec) 说明备份成功 5、下面就可以启动从服务器了 mysql>start slave; mysql>show slave status/G ##查看从服务器的状态是否连接成功 如下所示说明成功连接: Slave_IO_Running: Yes Slave_SQL_Running: Yes 经过以上的步骤就完成了mysql服务器的主从复制。如果有不同的地方请提出来,以便共同进步! 作者 ZhouLS bitsCN.com

下载本文
显示全文
专题