MySQL做主从复制方法

1、主从复制的原理:

首先打开主库的二进制日志,从服务器的I/O线程获取主库的二进制日志,写入到从库的中继日志中,然后由sql线程读取中继日志中的内容,并在从服务器上执行,完成数据的同步。

  1. GTID方式

(1)主库操作

vim /etc/my.cnf  #添加如下内容

server-id=1                                 #定义server-id   必写

log_bin=mylog               #开启binlog日志,master必写

gtid_mode=ON                           #开启gtid

enforce_gtid_consistency=1       #强制gtid

重启数据库systemctl restart mysqld

主服务器创建用户:grant replication slave,reload,super on *.* to  'slave'@'%'  identified by '123';

(2)从库操作

vim /etc/my.cnf   #添加如下内容

server-id=2

gtid_mode=ON

enforce_gtid_consistency=1

master-info-repository=TABLE

relay-log-info-repository=TABLE

重启数据库:systemctl restart mysqld

登录MySQL:mysql -uroot -p'123'

mysql> \e

change master to

master_host='主库IP地址',

master_user='授权用户',

master_password='授权密码',

master_auto_position=1;

->;

启动slave:start slave;

查看slave状态:show slave status\G

binlog日志方式

(1)主库操作

vim /etc/my.cnf   #添加配置

log-bin=/var/log/mysql/mysql-bin

server-id=1

创建目录并赋予权限 mkdir /var/log/mysql  ---------- chown -R mysql.mysql /var/log/mysql

重启MySQL:systemctl restart mysqld

查看master状态:show master status\G  记录下file和position

(2)从库操作

vim /etc/my.cnf     #添加配置

server-id=2

重启MySQL:systemctl restart mysqld

进入数据库:mysql> \e

CHANGE MASTER TO

MASTER_HOST='192.168.188.145',

MASTER_USER='slave',

MASTER_PASSWORD='Liming@666',

MASTER_LOG_FILE='mysql-bin.000001',

MASTER_LOG_POS=859;

->;

启动slave:start slave;

查看slave状态:show slave status\G

I/O线程和sql线程都为yes就证明成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值