mysql数据同步

 目的:实现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 数据同步已经完成,自己可以测试一下。这里只是简单的把环境搭建好了,但是后期的具体排错,还要自己慢慢的去积累琢磨···

本文出自 “wtpeng点滴” 博客,转载请与作者联系!

你可能感兴趣的:(数据库备份,数据库同步,mysql同步)