赞
踩
主服务器IP:192.168.157.1
从服务器IP:192.168.157.2
192.168.157.1主操作:
首先要保证主从两台数据库的版本,数据库表等一致, 本教程是基于5.7, 64位的mysql数据库, 系统是ubuntu 16.04, 主从均为虚拟机
主节点配置:
编译/etc/my.cnf文件的[mysqld]下加入如下配置
server_id = 1 #主数据库端ID号
log-bin = mysql-bin #开启二进制日志
binlog-do-db = mytest #需要复制的数据库名,如果复制多个数据库,重复设置这个选项即可
auto_increment_offset = 1 #这个参数一般用在主主同步中,用来错开自增值, 防止键值冲突
auto_increment_increment = 1 #这个参数一般用在主主同步中,用来错开自增值, 防止键值冲突
log_bin_trust_function_creators = 1 #将函数复制到slave
重启mysql
service mysqld restart
登陆mysql
mysql -uroot -p1234
配置从服务器登录的用户密码,权限等, slave 为登录用户名, 192.168.157.2 为从库的ip,slpass 为从服务器登录的密码,请根据自身的情况配置
grant replication slave,replication client on . to ‘slave’@‘192.168.58.129’ identified by ‘slpass’;
刷新权限
FLUSH PRIVILEGES;
查看主节点状态:
show master status\G;
从节点(192.168.157.2)配置:
编译/etc/my.cnf文件的[mysqld]下加入如下配置
server_id = 2 #从节点的ID号,不能和主节点的一样
relay_log = relay-log #开启中继日志
read_only = ON #只读开启,实现读写分离
重启从节点mysql并配置:
service mysqld restart
登陆从节点mysql
mysql -uroot -p1234
#设置复制的主节点数据库,pos位置()
CHANGE MASTER TO MASTER_HOST=‘192.168.157.1’,MASTER_USER=‘slave’,MASTER_PASSWORD=‘slpass’,MASTER_LOG_FILE=‘mysql-bin.000002’,MASTER_LOG_POS=2518;
上面语句参数说明:
MASTER_HOST:主库ip,
MASTER_USER:上面主库配置从服务器登录的用户密码时配置的用户名
MASTER_PASSWORD: 上面主库配置从服务器登录的用户密码时配置的用户密码
MASTER_LOG_FILE:主库的数据库日志文件, 参考上面show master status\G; 得出的File 字段的值,
MASTER_LOG_POS:参考上面show master status\G; 得出的Position 字段的值
开启主从复制并查看状态:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。