mysql主从复制部署

Mysql主从复制部署

GTID 基于事务ID复制

Master端操作

Vim /etc/my.cnf 
Server-id=1  #定义server id 
Log-bin=mylog #开启binlog日志
Gtid_mode=on  #开启gtid 
Enfotce_gtid_consistency=1  #强制gtid 重启
Systemctl restart mysqld 

主服务器创建账户

Mysql>grant reolication slave,reload,super on *.* to ‘slave’@’%’identifyied by ‘密码’;

注意:如果不成功删除以前的binlog日志

  • 1.replication slave:拥有此权限可以查看从服务器,从主服务器读取二进制日志。
  • 2.super权限:允许用户使用修改全局变量的SET语句以及CHANGE MASTER语句
  • 3.reload权限:必须拥有reload权限,才可以执行flush [tables | logs | privileges]

slave 操作

进入配置文件vim /etc/my.cnf

Server-id=2
Gtid_mode=on
Enforce_gtid_condsistency=1

重启服务

Systemctl restart mysqld

登录数据库

Mysql>change master to 
Master_host=’master端IP地址’,
Master_user=‘授权用户’,
Master_password=’授权密码’,
Master_auto_position=1;

启动slave

Mysql>start slave; 

查看状态

Mysql>show slave status\G

验证sql和IO是不是yes

主从复制bionglog日方式

配置主服务

1、 在主服务器上,必须适用二进制日志文件记录并配置唯一的服务器ID。需要重启服务器。编辑主服务器的配置文件my.cnf.添加如下内容

主服务器master端

添加配置

[mysqld]
Log-bin=/var/log/mysql/mysql-bin
Server-id=1

创建日志并赋予权限

mkdir /var/log/mysql
chown mysql.mysql /var/log/mysql

重启服务

systemctl restart mysqld

从服务器slave端

my.cnf配置文件

[mysqld]
server-id=2

重启服务

systemctl restart mysqld

登录
进入数库

CHANGE MASTER TO
MASTER_HOST='master2.example.com', //主服务器ip
MASTER_USER='replication', //主服务器用户
MASTER_PASSWORD='password', //用户密码
MASTER_PORT=3306, //端口
MASTER_LOG_FILE='master2-bin.001', //binlog日志文件名称
MASTER_LOG_POS=4, //日志位置

开启slave

mysql>start slave

查看slave状态

mysql>show slave status\G

你可能感兴趣的:(mysql主从复制部署)