Mysql 的版本尽量保持一致,如果不一致,
那么从服务器的版本不能高于主服务器的版本。
主服务器 id:192.168.0.20
从服务器 id:192.168.0.143
关闭两个服务器的防火墙,以能够 ping 通为最佳:ping 192.168.0.20
1、 编辑配置文件 在 /etc/my.cnf 文件中的【mysqld】下添加:
#启用二进制日志[主库必须启用,主服务器发送变更记录到从服务器依赖的时二进 制日志]
log-bin=mysql-bin
#这是数据库 ID,此 ID 是唯一的,主库默认为 1,其他从库以此 ID 进行
递增,Id 值 不能重复,否则会同步 出错 server-id=1
# 需要同步的数据库;如果需要多个依次添加就好
binlog-do-db=test
# 不需要同步的数据库;
binlog-ignore-db = mysql innodb_flush_log_at_trx_commit=1 sync_binlog=1
# 提示 1:如果你不配置 server-id 或者配置值为 0,那么主服务器将拒绝 所有从服务器的连接。
# 提示 2:在使用 InnoDB 的事务复制,为了尽可能持久和数据一致,你应 该在 my.cnf 里配置
innodb_flush_log_at_trx_commit=1 和 sync_binlog=1;
# 提示 3:确保主服务器里的 skip-networking 选项未启用,如果网络被禁 用,你的从服务器将
不能与主服务器通信并且复制失败。
2、 重启 mysql 使配置生效 Service mysql restart
3、 进入 mysql 终端 Mysql –uroot –proot
3.1、新建复制账号 CREATE USER 'slaveUser'@ '192.168.0.%' IDENTIFIED BY'123456';
3.2、赋予权限 grant replication slave on *.* to'slaveUser'@'192.168.0.%' identified by'123456';
这里我的用户是 slaveUser,因为后面两台服务器都在 0 网段,所以我这里新 建用户也限制在 0
网段连接,如果不想限制可以写成@'%'形式 。
4、 查看 master 状态
Show master status
1、 编辑配置文件
在 /etc/my.cnf 文件中的【mysqld】下添加:
2、 重启 mysql 使配置生效
Service mysql restart
3、 进入 mysql 终端修改 slave 参数
Mysql –urooot –proot
3.1、停止 slave
Stop slave;
.
3.2、修改 slave
CHANGE MASTER TO MASTER_HOST=‘192.168.0.20’,MASTER_USER=‘slave
User’,MASTER_PASSWORD=‘123456’,MASTER_LOG_FILE=‘mysql-bin.000007’,MAS
TER_LOG_POS=1080
这里的 MASTER_LOG_FILE 和 MASTER_LOG_POS 就是主服务器的 file 和 position 的值
.
3.3、启用 slave
Start slave;
4、 查看 slave 是否生效
Show slave status\G;
在主服务器需要同步的数据库里新建表和数据,从库会自动复制 如果需要新增第二台从库,请重复从库配置
因篇幅问题不能全部显示,请点此查看更多更全内容