安装mysql
建立复制账户
在主mysql 上建立复制权限的账户
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';
配置主mysql
启用主mysql上的二进制日志,修改配置文件/etc/my.cnf,添加如下参数
server-id = 1 #主机标示,整数
log-bin= /var/log/mysql/master-bin #二进制日志位置
log-bin-index=/var/log/mysql/master-bin.index #二进制索引日志位置
binlog-do-db=test #可选 需要备份数据 多个写多行
binlog-ignore-db=mysql #可选 不需要备份的数据库,多个写多行
sync_binlog=1 #同步磁盘写二进制日志 防止断电发生
innodb_support_xa=1 #支持分布式事务,解决binlog_format 为statement 时日志同步问题 ,如果binlog_format 为ROW则不存在这些问题了
4.配置slavemysql
a.修改slave /etc/my.cnf配置文件
server-id=2
relay-log=/var/log/mysql/slave-relay-bin #中继日志文件
relay-log-index=/var/log/mysql/slave-relay-bin.index #中继日志索引文件
#注意从mysql 5.5开始 下面这些选项不能在my.cnf中配置 否则会报错,只能用CHANGE MASTER TO 语句设置
#master-host =192.168.1.100 #主mysql IP
#master-user = slave
#master-pass =123456
#master-port =3306
#master-connect-retry=60 # 可选 如果从服务器发现主服务器断掉,重新连接的时间差(秒)
#replicate-do-db =test # 可选 只复制某个库
#replicate-ignore-db=mysql # 可选 不复制某个库
5.重启配置好的mysql服务器
6.启动salve从服务器上的复制进程
在从服务器上执行下面的语句,用你的系统的实际值替换选项值 mysql> CHANGE MASTER TO
-> MASTER_HOST='master_host_name',
-> MASTER_USER='replication_user_name',
-> MASTER_PASSWORD='replication_password',
-> MASTER_PORT=3306;
mysql>start slave; //启动从服务器复制功能
7、验证
在主机A中,mysql>show master status\G;
在从机B中,mysql>show slave status\G;
能看到大致这些内容
File: mysql-bin.000001
Position: 1374
Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
可以在主机A中,做一些INSERT, UPDATE, DELETE 操作,看看主机B中,是否已经被修改