目的:实现mysql1服务器数据能够同步到mysql2上。
步骤:
1、 首先建立好两台mysql服务器,一个为主服务器(mysql1),另外一个做为从服务器(mysql2)。
注意:从服务器的mysql版本一定不能比主服务器的mysql版本低,可以比主服务器的高;但是如果做的是主主复制的话,两个服务器的mysql版本一定要相同,现在我们做的是主从复制,可以不同。
2、 编辑主服务器:
编辑主配置文件:vi /use/local/mysql/my.cnf
a.       修改server-id (随便修改值,只要和从服务器重就ok
b.       因为主服务器使用的是binary-log来记录数据,所以不需要对binary-log进行修改,因为mysql默认就会启用binary
c.       进入mysql,创建一个专门用于从服务器进行数据同步认证的帐号。(这里的帐号传送数据是不会对数据进行加密,如果数据是跨越互联网的,可以进行加密,这个自己去研究哈)
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO abc@’192.168.1.%’ IDENTIFIED BY ‘password’;   #创建一个abc用户,只能在IP制定的范围进行同步
创建完成后,可用命令进行查询:
SHOW GRANTS FOR abc@’192.168.1.%’; 
3、 编辑从服务器:
编辑从服务器的主配置文件:vi /usr/local/mysql/my.cnf
a.       修改server-id
b.       因为从服务器的数据是从主服务器经过中继日志来进行同步的,所以不需要自己的binary-log,所以可以把其给注释掉;
c.       因为这个要做为从服务器,所以要在主配置文件中添加两个字段:
Relay-log=relay-bin
Relay-log-index=relay-bin.index
d.       进入mysql,使用刚刚在主服务器上创建的用户连接主服务器:
CHANGE MASTER TO
>MASTER_HOST=’192.168.1.1’,
>MASTER_USER=’abc’,
>MASTER_PASSWORD=’password’;
注:可以用HELP CHANGE MASTER TO 来查看CHANGE MASTER 的其他命令参数
4、 启动slave,查看连接
a.       进入mysql:上面我们虽然已经连接到了主服务器,但是我们从服务器还不能同步主服务器的数据,因为我们还没有开启从服务器。
SLAVE START/STOP;来开启/停止从服务器
b.       查看:
SHOW SLAVE STATUS\G
当看到Slave_IO_Runing=YES;   Slave_SQL_Runing=YES,并且无报错,说明服务已经启动正常。
到这里,我们的主从mysql数据同步已经完成,自己可以测试一下。这里只是简单的把环境搭建好了,但是后期的具体排错,还要自己慢慢的去积累琢磨···