mysql 主从数据库搭建

mysql 主从数据库搭建

技术教程gslnedu2025-03-23 18:16:307A+A-


一、创建目录

  1. 在 dev/htb 下面创建文件夹 master01 htb]# mkdir mysql/master01 -p 2)进入 master01
  2. mkdir conf data 创建两个文件夹
  3. 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

  1. 创建新的连接

添加 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;

  1. 查看二进制日志相关的配置项 show global variables like 'binlog%';

上面的只要是有数

据就行

  1. 查看 server 相关的配置项 show global variables like 'server%';

可以看到服务器的 id 是 1,

这个id 一个集群里面是唯一的

四、搭建从库

  1. 创建目录 /dev/htb/mysql/slave01 cd /dev/htb/mysql/slave01

进入 slave01 mkdir conf data

  1. 修改权限 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'

  1. 创建容器

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

  1. 启动

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 说明主从数据库已经搭建完成

五、测试

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

点击这里复制本文地址 以上内容由朽木教程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

朽木教程网 © All Rights Reserved.  蜀ICP备2024111239号-8