首页 > 数据库 >mysql8.4主从配置

mysql8.4主从配置

时间:2024-05-28 14:34:06浏览次数:16  
标签:mysql1 mysql2 配置 mysql8.4 mysqld mysql docker cnf 主从

mysql8.4主从配置

环境

docker + mysql8.4

查找mysql

docker search mysql

拉取mysql镜像

docker pull mysql

运行2台mysql(mysql1,mysql2)

docker run -itd --name=mysql1 -e MYSQL_ROOT_PASSWORD=123456 mysql

docker run -itd --name=mysql2 -e MYSQL_ROOT_PASSWORD=12345678 mysql

查看mysql1,mysql2的IP

docker inspect mysql1

docker inspect mysql2

mysql1IP:172.17.0.2 mysql2 IP:172.17.0.4 (后面需要用到!!!) mysql1 为主服务器,mysql2为从服务器

主从服务器配置 从mysql1复制配置文件my.cnf到主机

docker cp mysql1:/etc/my.cnf /home/my.cnf

主服务器mysql1 配置

vi /home/my.cnf

修改后如下

[mysqld]
server-id=1  
log-bin=mysql-bin
binlog-ignore-db=mysql,information_schema,performance_schema
#binlog-do-db=school-info


skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql

pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock

!includedir /etc/mysql/conf.d/

把修改好的主服务器配置文件my.cnf复制回mysql1

从服务器 mysql2 配置

docker cp /home/my.cnf mysql1:/etc/my.cnf
vi /home/ubuntu/my.cnf

修改后如下

[mysqld]
server-id=2  
log-bin=mysql-bin
replicate-ignore-db=mysql,information_schema,performance_schema

skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql

pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock

!includedir /etc/mysql/conf.d/

把修改好的从服务器配置文件my.cnf复制回mysql2

docker cp /home/my.cnf mysql2:/etc/my.cnf

重启mysql1 mysql2

docker restart mysql1

docker restart mysql2

主服务器mysql1配置 进入mysql1容器

docker exec -it mysql1 /bin/bash

登录mysql

mysql -uroot -p123456

修改mysql1从服务器连接账号密码

alter user 'root'@'%' identified by '123456';

给root授权

grant replication slave,replication client on *.* to 'root'@'%';

刷新权限

flush privileges;

查看master状态

show replica status;
show variables like 'log_bin';
SHOW BINARY LOGS;
SELECT user, host FROM mysql.user WHERE user='root' AND host='%';

从服务器mysql2配置 进入mysql2容器

docker exec -it mysql2 /bin/bash

登录mysql

mysql -uroot -p123456

停止slave

stop replica;

从服务器连接主服务器(用到前面的mysql1IP,root账号密码,file,position的值)

change replication source to
source_host='172.18.0.2',
source_user='root',
source_password='123456',
source_port=3306,
source_log_file='mysql-bin.000001',
source_log_pos=1;

启动slave

start replica;

查看slave状态

show replica status \G

测试(master添加数据库数据,slave查看是否同步) master(mysql1)下执行 创建数据库

create database school-info;

创建表

CREATE TABLE `school-info`.`school`  (
`id` bigint(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` varchar(200) NULL COMMENT '学校名称',
`create_at` bigint(11) NULL,
`update_at` bigint(11) NULL,
`status` tinyint(4) NULL DEFAULT 0 COMMENT '状态',
PRIMARY KEY (`id`)
) ENGINE = InnoDB COMMENT = '学校信息表';

表添加记录

insert into school values(1,"school1",1625568499,1625568499,1);
insert into school values(2,"school2",1625568499,1625568499,1);

slave(mysql2)下执行 查看数据库列表

show databases;

选择数据库

use school-info;

查看表记录

select * from school;

如果看见有school_info数据库,school表,记录跟master一致,则说明配置成功

标签:mysql1,mysql2,配置,mysql8.4,mysqld,mysql,docker,cnf,主从
From: https://www.cnblogs.com/hu308830232/p/18217962

相关文章

  • Gateway基本配置:打开网络之门
    在网络通信中,网关(Gateway)扮演着连接不同网络之间的重要角色。它不仅仅是数据传输的桥梁,还负责数据包的转发、路由、安全策略等功能。本文将介绍Gateway的基本配置,包括具体的配置示例,并探讨Gateway在网络中的应用场景。1.网关基本概念在网络通信中,网关是一种关键的网络设备或......
  • Windows10(家庭版)中DockerDesktop(docker)的配置、安装、修改镜像源、使用
    场景Windows10中Docker的安装与遇到的那些坑:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119209218上面讲DockerDesktop在windows10非家庭版上的安装,如果是家庭版,则需要执行如下步骤。注:博客:https://blog.csdn.net/badao_liumang_qizhi实现1、虚拟化检......
  • centos7.9服务器配置环境
    查看centos版本cat/etc/centos-release1.安装dockercurl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun启动dockersudosystemctlstartdocker设置开机启动sudosystemctlenabledocker2.创建运维用户创建cy用户useradd-m-d/home/cycy设置密码pas......
  • 轻松配置NFS服务:CentOS7服务器与客户端自动挂载指南
    目录NFS服务端配置NFS客户端配置 在CentOS7中配置NFS服务并设置客户端自动挂载的步骤如下:回到顶部NFS服务端配置安装NFS服务:首先,你需要在CentOS7服务器上安装NFS服务。你可以使用yum命令来安装:yuminstallnfs-utils创建共享目录:创建一个你希望共享的......
  • 如何理解Spring Boot自动配置原理和应用?
    我们知道,基于SpringBoot,我们只需要在类路径中引入一组第三方框架的starter组件,就能在Spring容器中使用这些框架所提供的各项功能。这在当下的开发过程中已经习以为常,但在SpringBoot还没有诞生之前却是不可想象的。如果我们使用传统的Spring框架,那就需要添加各种繁杂的配置信......
  • nginx 配置 vue History模式
    解决需要加一行try_files$uri$uri//index.html;,其中/index.html是你自己的目录中的入口文件server{listen[::]:80default_server;#root/var/www/html;#Addindex.phptothelistifyouareusingPHPindexindex.htmlindex......
  • 创建一个配置为信任所有HTTPS连接的RestTemplate实例,不验证服务器的SSL证书。这个示
    这个配置类使用背景:可参考博客:springboot使用restTemplate发送https请求忽略ssl证书https://jsonll.blog.csdn.net/article/details/129191580?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-1......
  • ABPVNext问题集锦-SwaggerUI的配置问题,配置Schema自动展开
    一,ABP框架中,运行的SwaggerUI中,默认情况下,不管Post还是Get等请求接口的Schema默认情况是折叠的,前端接入接口时需要一个个手动点开,如果参数过多比如100个参数 要点100次,使用不是太方便,或那种又有查询、又有新增,并且json里面各种套,对象里面有数组,数组里面套数据,  这种参数就很多了......
  • 《计算机网络微课堂》4-5 静态路由配置及其可能产生的路由环路问题
    ‍本节课我们介绍静态路由配置及其可能产生的路由环路问题,静态路由配置是指用户或网络管理员使用路由器的相关命令,给路由器人工配置路由表,这种人工配置方式简单,开销小,但不能及时适应网络状态(流量、拓扑等)的变化,一般只在小规模网络中。采用使用静态路由配置,可能出现以下导致产生......
  • Android gradle 配置阿里镜像
    1.打开项目中的build.gradle文件。2.在build.gradle文件中添加阿里镜像的地址,如下所示:buildscript{repositories{maven{url'https://maven.aliyun.com/repository/public'}maven{url'https://maven.aliyun.com/repository/central'}......