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同步,主从复制,MYSQL数据同步)