mysql 5.7配置主从

  • Post author:
  • Post category:mysql



主服务器IP:192.168.58.128

从服务器IP:192.168.58.129

192.168.58.128主操作:



首先要保证主从两台数据库的版本,数据库表等一致, 本教程是基于5.7, 64位的mysql数据库, 系统是centos 5.7, 主从均为虚拟机



主节点配置:



编译/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.58.129 为从库的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.58.129)配置:



编译/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.58.128’,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 字段的值



开启主从复制并查看状态:

  • 登录mysql后执行:START SLAVE;

    在这里插入图片描述
  • 登陆mysql后执行:show slave status\G;

红圈里面的 Slave_IO_Running 和 Slave_SQL_Running 均为 Yes , 是已经配置成功的标识

在这里插入图片描述



版权声明:本文为a826193310原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。