[Ubuntu]Ubuntu16.04搭建mysql主从数据库

[Ubuntu]Ubuntu16.04搭建mysql主从数据库

主从复制原理:从机(slave)通过读取和同步主机(master)上的二进制日志上的事件(events),在从机本地的数据库中来重现(也可理解为重做)这些操作,从而达到复制的效果。

本人使用的是在windows上挂在两台 Ubuntu16.04虚拟机 mysql8.0
主:192.168.100.101
从:192.168.100.102

一:安装mysql 8.0

https://blog.csdn.net/qq_36254699/article/details/107890179

二、搭建主从复制:

1、配置主机(Setting the Replication Master Configuration)

1.1、打开配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf # 编辑默认的配置文件

1.2、在文件中的mysqld的组中添加一个选项:

server-id = 1 #配置主机的server-id 为 1  主机server-Id 为2
log-bin=mysql-bin

1.3、上步骤保存之后,执行以下命令,重启Mysql服务

service mysql restart

1.4、重新登录MySQL客户端,执行下面的命令

show variables like '%server_id%'

在这里插入图片描述

2、从机配置(Setting the Replication Slave Configuration)

从机配置同主机一致

server-id = 2 #配置主机的server-id 为 1  主机server-Id 为2
log-bin=mysql-bin

3、为复制创建用户(Creating a User for Replication)

登录主机MySQL客户端

3.1、给主机创建从机用户


create user 'slave'@'192.168.100.102' identified by 'password';

‘slave’:从机用户名

‘192.168.100.102’ :从机IP

‘password’:从机数据库密码

3.2、创建完用户,赋予权限


grant replication slave on *.* to 'slave'@'192.168.100.102'

如果执行失败,可以授予全部权限:

grant all privileges on *.* to 'slave'@'192.168.100.102';

Mysql 8.0 默认的密码格式为:’mysql_native_password’

3.3、主机上执行命令

show master status;

在这里插入图片描述

记住这两个值,后面配置有用

4、在从机上建立主机的配置(Setting the Master Configuration on the Slave)

其中master_log_file和master_log_pos为上一步查询对应的两个值;

CHANGE MASTER TO 
MASTER_HOST='192.168.100.101', 
MASTER_USER='slave', 
MASTER_PASSWORD='slave', 
MASTER_LOG_FILE='mysql-bin.000003', 
MASTER_LOG_POS=512;

5、开始主从复制服务

start slave ;

注意:每次服务器重启需要查询主机的日志,即执行指令:show master status;先stop slave;然后从机上重新配置参数,start slave 执行一次

BUG总结:https://blog.csdn.net/qq_36254699/article/details/108081054

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一杯糖不加咖啡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值