前提准备:
两台装备了MySQL服务的服务器,且保证已启动(Centos安装MySQL方法请见上一篇文章)
主库操作
1 编辑mysql配合文件 vim /etc/my.cnf,加入如下配置
# 服务的唯一编号
server-id = 1
# # 开启mysql binlog功能
log-bin = mysql-bin
# # binlog记录内容的方式,记录被操作的每一行
binlog_format = ROW
# # 减少记录日志的内容,只记录受影响的列
binlog_row_image = minimal
# # 指定需要复制的数据库名为pbx,calltask,cdr,xzcrm,robotcrm,xzhidden
binlog-do-db = pbx
2.主库中添加允许访问的从库的用户信息,并授权
grant replication slave on *.* to '从库账号'@'%' identified by '从库密码';
flush privileges;
3.重启MySQL并查看主库状态,记录File 字段 和 Position 字段的值
service mysqld restart;
show master status;
从库操作:
1. 编辑mysql配合文件 vim /etc/my.cnf,加入如下配置
# 服务的唯一编号
server-id = 2
# 开启mysql binlog功能
log-bin = mysql-bin
# binlog记录内容的方式,记录被操作的每一行
binlog_format = ROW
# 减少记录日志的内容,只记录受影响的列
binlog_row_image = minimal
# 指定需要复制的数据库名为
replicate-do-db = pbx
2. 重启MySQL
3. 执行从库同步sql
change master to master_host='主库IP',master_user='主库账号',master_password='主库密码',master_log_file='主库File字段的值',master_log_pos='主库Position的值';
4.开启同步,并查询状态,注意:Slave_IO_Running和Slave_SQL_Running的状态都为Yes时,说明从库配置成功
注:当主库存在已有数据时,主库进行锁表操作,从库复制同步File和Positon
flush tables with read lock;
show master status;
//复制主库的所有数据到从库中
unlock tables;