mysql 主从数据库搭建

一、创建目录

1)在 dev/htb 下面创建文件夹 master01
htb]# mkdir mysql/master01 -p

2)进入 master01

3)mkdir conf data 创建两个文件夹

4)mkdir conf data 修改权限

二、创建配置文件

1)进入 conf
2)vim my.cnf
3)添加如下内容
[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id=1 #服务 id,不可重复

三、创建容器

docker create --name percona-master01 -v /dev/htb/mysql/master01/data:/var/lib/mysql -v /dev/htb/mysql/master01/conf:/etc/my.cnf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23

2)创建新的连接

添加 IP地址,端口号是 3306 用户名 root 密码 root

3)连接成功之后,运行 命令界面新建查询

输入如下命令
create user ‘kgc’@’%’ identified by ‘kgc’;
grant replication slave on . to ‘kgc’@’%’;
flush privileges;

4)重启
docker restart percona-master01 && docker logs -f percona-master01

5) 新建查询,运行
show master status;

在这里插入图片描述

6)查看二进制日志相关的配置项
show global variables like ‘binlog%’;
在这里插入图片描述
上面的只要是有数据就行

7)查看 server 相关的配置项
show global variables like ‘server%’;
在这里插入图片描述
可以看到服务器的 id 是 1,这个id 一个集群里面是唯一的

四、搭建从库

1)创建目录
/dev/htb/mysql/slave01

cd /dev/htb/mysql/slave01

进入 slave01

mkdir conf data

2)修改权限
chmod 777 * -R
3)添加配置文件
进入 conf
vim my.cnf

添加如下内容
[mysqld]
server-id=2 #服务 id,不可重复
sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’

4)创建容器

docker create --name percona-slave01 -v /data/mysql/slave01/data:/var/lib/mysql -v
/data/mysql/slave01/conf:/etc/my.cnf.d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root
percona:5.7.23

/dev/htb/mysql

docker create --name percona-slave01 -v /dev/htb/mysql/slave01/data:/var/lib/mysql -v /dev/htb/mysql/slave01/conf:/etc/my.cnf.d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23

5)启动

docker start percona-slave01 && docker logs -f percona-slave01
6)指定模式
set sql_mode = ‘’; set sql_mode = ‘NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES’;

CHANGE MASTER TO master_host=‘182.92.88.141’, master_user=‘kgc’, master_password=‘kgc’, master_port=3306, master_log_file=‘mysql-bin.000004’, master_log_pos=154;

7)启动同步 start slave;
8)查看 master 状态 show slave status;

在这里插入图片描述

看到的是两个yes 说明主从数据库已经搭建完成

五、测试

在主库新建一个数据库,新建表格,插入数据,刷新从库之后可以看到相同的数据库,相同的表格,相同的数据,测试成功

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值