mysql提供数据库之间的数据复制功能,通过数据库的binlog实现 以下记录实现步骤
1/ 环境:准备安装好的两个mysql数据库
master slave;
2/master配置,打开mysql配置文件
vi /etc/my.cnf
增加如下配置:其中binlog_do_db 为同步的源数据库, 需要复制多个重复设置该属性即可
[mysqld]
server-id=1
log_bin=master-bin
log_bin_index=master-bin.index
binlog_do_db=huxBlog`
3/在master配置slave账号
创建salve账号
mysql> grant replication salve on *.* to masterbackup@'slave Ip' identified by '密码'
slave Ip 地址可以使用%模糊匹配 支持部分匹配,如:10.11.22.%
4/重启master 数据库
mysql> service mysql restart
查看配置状态
master配置完成
5/slave配置,编辑 vi /etc/my.cnf,[mysqld]节点下配置
[mysqld]
server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin-index
6,重启slave 数据库
mysql> service mysql restart
7/连接到master数据库:
连接主服务器 配置参考上图master的状态数据
mysql> change master to master_host='master ip',master_port=3306,master_user='masterbackup',master_password='密码',master_log_file='master-bin.000001',master_log_pos=154
8/启动slave同步
启动
mysql> start slave;
也可以停止
mysql> stop slave;
9/查看slave 同步状态
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host:
Master_User: masterbackup
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.000001
Read_Master_Log_Pos: 738
Relay_Log_File: slave-relay-bin.000002
Relay_Log_Pos: 871
Relay_Master_Log_File: master-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...
大功告成,可以去测试了 在master表中编辑的数据同步到slav