mysql实现主从复制

来源:互联网 发布:淘宝店铺发布宝贝视频 编辑:程序博客网 时间:2024/05/17 23:19

学习哈主从复制。记录下来。

准备工作:

1.两个虚拟机:我自己使用的是CentOS,

服务器地址分别为

主:10.1.1.101

从:10.1.1.201

他们的mysql版本是一致的。

2.环境:apache+PHP+MYSQL


原理:

mysql要做到主从复制,其实依靠的是二进制,即:主服务器为A,从服务器为B。主从复制,意思就是B学习A,A做什么事情,B就跟着做什么事情。那么B如何同步A做的事情呢?现在A有一个日志功能,记录了A所做的增删查改的动作全部记录到日志中,B只需要拿到这份日志,照着日志上面的动作施加在自己身上,这样就实现了主从复制。


实现步骤:

1.首先修改mysql的配置文件,使其支持二进制日志功能。

打开主服务器的mysql配置文件my.conf

vi  my.conf

加入下列3行代码


参数解释:

1.将二进制日志取名为mysql-bin

2.二进制日志的格式,这里直接使用mixed

3.为服务器设置一个独一无二的id便于区分


配置完成后wq保存退出,然后重启mysql(service mysqld restart)

同样的,进入从服务器,配置my.conf,

唯一不同的是最后一行,将其配置成从服务器的IP号码,server-id = 201,

然后保存,重启。


2.在主服务器上为从服务器分配一个帐号,就像一把钥匙,从服务器有了这把钥匙,才能获取到主服务器上的日志文件。

进入主服务器的mysql界面:

命令 mysql -u root -p root

在mysql操作界面,运行下面命令:

GRANT  replication  slave  on  *.*  to  'slave'@'%'   IDENTFIED  BY  'root';


3.查看主服务器BIN日志的信息(执行完成后记录下这两个值,并且在配置完从服务器之前不要对主服务器进行任何操作,因为操作一次,这两个值就会变化)

4.设置从服务器

进入mysql界面

首先关闭slave (stop slave),然后开始配置

输入一下代码即可:

参数解释:

MASTER_HOST:设置要连接的主服务器的IP地址

MASTER_USER:设置要连接的主服务器的用户名

MASTER_PASSWORD设置要连接的主服务器的密码

MASTER_LOG_FILE设置要连接的主服务器的bin日志的日志名称,即第三步得到的信息

MASTER_LOG_POS设置要连接的主服务器的bin日志的记录位置,即第三步得到的信息。(这里需要注意,248不需要加引号,不然配置失效)


先在从服务器上配置完成,启动从服务器:


5.查看是否配置成功:

命令:show slave status

上面两项均为yes,说明配置成功,否则,重复前面的步骤重新配置。


这就是主从复制的全过程。

原文:http://www.cnblogs.com/superfat/p/5267449.html


原创粉丝点击