mysql5.7复制从库_mysql5.7主从复制,主主复制

mysql5.7主从复制,主主复制

发布时间:2018-08-21 15:42,

浏览次数:269

, 标签:

mysql

<>主从复制:主库可写(会写入从库)可读,从库只能读

<>主主复制:两个库可写可读,一个库修改会写入另一个库

<>A.主从复制

1.准备两台机器

192.168.1.193 master 主库机器

192.168.1.194 slave 从库机器

2.在两台机器安装mysql5.7

https://blog.csdn.net/qq_16676539/article/details/81904714

3.**配置 master 主库机器 **

a.开启binlog

设置mysql的唯一编号(mysql5.7即更高版本新加参数), 和开启binlog日志

输入vi /etc/my.cnf 进入配置文件,按Insert键进入编辑模式,添加如下参数

server-id=1 (机器的唯一标识)

log-bin=/var/lib/mysql/mysql-bin (开启binlog)

添加完后,按Esc键,输入 :wq! 保存退出

b.重启 service mysqld restart

c.进入mysql,查看binlog是否开启成功,输入cd /var/lib/mysql,看到如下文件代表开启成功

d.创建用户并授权

登录MySQL mysql -uroot -p

创建用户:create user ‘repl’ identified by ‘repl’;

授权:grant replication slave on . to ‘repl’@‘192.168.1.%’ identified by ‘repl’;

4.配置slave 从库机器

a.开启binlog

输入vi /etc/my.cnf 进入配置文件,按Insert键进入编辑模式,添加如下参数

server-id=2

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

( ( server-id机器的唯一标识),后面两步是用来打开slave的relaylog功能的)

添加完后,按Esc键,输入 :wq! 保存退出

b.重启 service mysqld restart

5.建立主从关系

a.打开主库机器登录mysql

输入 show master status; 查看状态

b.打开从库机器登录mysql

输入 show slave status\G; 查看状态,状态未开启时进行如下设置:

change master to

master_host=‘192.168.1.193’, // 主节点

master_port=3306, //主节点的端口号

master_user=‘repl’, // 账号

master_password=‘repl’, // 密码

master_log_file=‘mysql-bin.000002’, // show master status 对应的的日志

master_log_pos=936; // show master status 对应的

c.输入start slave 开启从节点

输入 show slave status\G; 查看状态,如下图所示为成功

6.Navicat数据库工具创建主从库连接,如下图所示:

如主从库未开启远程访问,需先开启,操作如下:

GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT

OPTION;

FLUSH PRIVILEGES;

可以操作数据库啦

<>B.主主复制

1.准备两台机器

192.168.1.193 master 主库机器

192.168.1.195 master 主库机器

2.在两台机器安装mysql5.7

https://blog.csdn.net/qq_16676539/article/details/81904714

3.修改my.cnf

开启binlog

输入vi /etc/my.cnf 进入配置文件,按Insert键进入编辑模式,添加如下参数

第一台:

server-id=1

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

auto_increment_increment=2

auto_increment_offset=1

第二台:

server-id=3

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

auto_increment_increment=2

auto_increment_offset=2

重启 service mysqld restart

4. 创建用户并授权

登录MySQL mysql -uroot -p

创建用户:create user ‘repl’ identified by ‘repl’;

授权:grant replication slave on . to ‘repl’@‘192.168.1.%’ identified by ‘repl’;

set global validate_password_policy=0;

set global validate_password_length=1;

5.建立关系

第二台关联第一台

a.打开第一台机器登录mysql

输入 show master status; 查看状态

b.打开第二台机器登录mysql,执行如下操作

change master to

master_host=‘192.168.1.193’, // 主节点

master_port=3306, //主节点的端口号

master_user=‘repl’, // 账号

master_password=‘repl’, // 密码

master_log_file=‘mysql-bin.000002’, // show master status 对应的的日志

master_log_pos=2072; // show master status 对应的

第一台关联第二台

a.打开第二台机器登录mysql

输入 show master status; 查看状态

b.打开第一台机器登录mysql,执行如下操作

change master to

master_host=‘192.168.1.195’, // 主节点

master_port=3306, //主节点的端口号

master_user=‘repl’, // 账号

master_password=‘repl’, // 密码

master_log_file=‘mysql-bin.000001’, // show master status 对应的的日志

master_log_pos=702; // show master status 对应的

6.启动库,执行start slave

7.数据库工具Navicat新建连接,远程操作数据库,可以看到两个库可以互相读写

*大功告成~~~~*

原文链接:https://blog.csdn.net/a375015762/article/details/80164042

binlog主要用途

原文链接:https://blog.csdn.net/hblfyla/article/details/70225249

binlog的两个重要用途:

*

主从复制

对于主从部署的mysql

server,master将所有可能更改数据库状态的操作写入binlog并将其同步给slave,后者重放binlog中的操作序列以便使其数据库状态与master达到一致,这样就实现了master-slave的数据同步。

*

数据恢复

数据库恢复时可以回放binlog重建宕机时的数据状态。假设数据库在某个备份点后又运行一段时间后宕机,则server重启后,可以在上次备份点的基础上,通过回放binlog来重做数据以便恢复上次备份点到server宕机这段时间内的数据状态。

注意:binlog只包含可能改变数据库状态的操作,因此,select或show等不会修改数据的操作不会记录在binlog中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值