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来查看
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>