目的:实现
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点滴” 博客,转载请与作者联系!