首页 > 数据库 >mysql数据库服务双主搭建

mysql数据库服务双主搭建

时间:2023-09-20 16:34:18浏览次数:36  
标签:服务 -- 数据库 master mysql slave 双主

mysql数据库服务双主搭建 1、搭建两台数据库服务环境,master,slave 数据库搭建参考:https://www.cnblogs.com/zuouncle/p/17713806.html 2、查看服务运行状态

systemctl status mysqld

 3、主库1(master)配置

配置mysql的启动配置文件
vim /etc/my.cnf
#开启binlog日志
log-bin=/usr/local/mysql/data/binlog

#mysql服务id,保证整个集群环境中唯一,取值范围1-2的23次方-1,默认1
server-id=1
#指定同步的数据库
#binlog-do-db=db01
#binlog-do-db=db02
#在作为从数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates

然后进行重启

systemctl restart mysqld

登录mysql,然后创建远程链接的账号,并授予主从复制权限

-- 创建master用户,并设置密码,该用户可在任意主机联机mysql服务
create user 'master'@'%' identified with mysql_native_password by 'master@1234';
-- 为'master'用户分配主从复制权限
grant replication slave on *.* to 'master'@'%';

 4、主库2(slave)配置

配置mysql的启动配置文件
vim /etc/my.cnf
#开启binlog日志
log-bin=/usr/local/mysql/data/binlog

#mysql服务id,保证整个集群环境中唯一,取值范围1-2的23次方-1,默认1
server-id=2
#指定同步的数据库
#binlog-do-db=db01
#binlog-do-db=db02
#在作为从数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates

然后进行重启

systemctl restart mysqld

登录mysql,然后创建远程链接的账号,并授予主从复制权限

-- 创建master用户,并设置密码,该用户可在任意主机联机mysql服务
create user 'master'@'%' identified with mysql_native_password by 'master@1234';
-- 为'master'用户分配主从复制权限
grant replication slave on *.* to 'master'@'%';
 5、设置关联配置  master服务关联slave服务的配置
change master to master_host='192.168.134.130',master_user='master',master_password='master@1234',master_log_file='binlog.000001',master_log_pos=154;

开启同步操作

start slave;

查看同步状态

show slave status;

  slave服务关联master服务的配置

change master to master_host='192.168.134.129',master_user='master',master_password='master@1234',master_log_file='binlog.000001',master_log_pos=154;

开启同步操作

start slave;

查看同步状态

show slave status;

6、数据测试  1、在master服务创建数据库,表,插入数据后,在slave服务查看数据 登录master服务数据库

-- 创建测试数据库

create database db01;

use db01;

show tables;

-- 创建测试表

create table tb_user(
id int(11) PRIMARY KEY not null auto_increment,
name VARCHAR(50) not null,
sex varchar(2)
)engine=INNODB DEFAULT charset=utf8;

-- 插入测试数据

insert into tb_user (id,name,sex) values (null,'Tom','1'),(null,'Trigger','0'),(null,'Dawn','1');

登录slave服务数据库

use db01;

select * from tb_user;

 

说明master到slave数据同步完成

2、在slave服务创建数据库,表,插入数据后,在master服务查看数据  登录slave服务数据库  -- 创建测试数据库
create database db02;

use db02;

show tables;

-- 创建测试表

create table sys_user(
id int(11) PRIMARY KEY not null auto_increment,
name VARCHAR(50) not null,
sex varchar(2)
)engine=INNODB DEFAULT charset=utf8;

-- 插入测试数据

insert into sys_user (id,name,sex) values (null,'Tom','1'),(null,'Trigger','0'),(null,'Dawn','1');

登录master服务数据库

   说明slave到master数据同步完成   这样双主的mysql服务就搭建完毕,当master服务宕机时,就能使用slave服务做主数据库,master服务做备用数据库,当slave服务宕机时,就能使用master服务做主数据库,slave服务做备用数据库,就能保证业务库环境不会彻底崩溃

 

标签:服务,--,数据库,master,mysql,slave,双主
From: https://www.cnblogs.com/zuouncle/p/17717506.html

相关文章

  • oracle数据库中查看表空间下各表占用表空间的大小
    背景:在做数据库巡检时,检查大表是必不可少的操作,可以查看各表占用表空间的大小,下面直接上例子,然后表空间名字我写成实际的了selectt.owner,t.segment_name,t.tablespace_name,bytes/1024/1024/1024assizes,q.num_rows,t.segment_typefromdba_segmentstleftjoindba_tablesq......
  • 安装达梦数据库
    下载地址:https://www.dameng.com/form/plogin/s/L2xpc3RfMTEwLmh0bWw%3D.html[root@bogon~]#unzipdm8_20230418_x86_rh6_64.zip#解压Archive:dm8_20230418_x86_rh6_64.zipinflating:dm8_20230418_x86_rh6_64.iso_SHA256.txtinflating:dm8_20230418_x86_rh6_6......
  • mysql 行级锁应用
    当在MySQL中需要实现从scheduler_task表中选择一个status='todo'的任务,并将其状态设置为"ongoing"和worker_id设置为"1",同时确保线程安全并返回该任务的信息时,我们需要使用行级锁来实现。介绍在多线程环境下,当多个线程同时执行数据库操作时,可能会出现并发冲突的情况。为了确保线......
  • Mysql中如何批量更新数据库中某个字段值中的部分内容;
    在平时的开发过程中,偶尔会遇到需要批量更新数据库中某个字段值的部分内容,比如某个字段存储的是图片的URL路径,这个路径中的域名无法访问了,需要更新为另一个ip地址。Mysql中提供了REPLACE函数:可以使用了REPLACE函数来替换原来字段中的一部分数据为新值。UPDATEcar_data_hisSETc......
  • MySQL的字段数量以及长度限制
    一、InnoDB行格式行格式紧凑的存储特性增强的可变长度列存储大型索引键前缀支持压缩支持支持的表空间类型REDUNDANTNNNNsystem,file-per-table,generalCOMPACTYNNNsystem,file-per-table,generalDYNAMICYYNNsystem,file-per-table,gener......
  • mysqldump导出命令
    导出数据备份数据[root@sf105113bin]#mysqldump-h127.0.0.1-P3306-uroot-p--add-locks-qdbname>dbname.sql//参数依次为:-h主机-p端口-u用户名-p密码--add-locks:导出过程中锁定表,完成后回解锁。-q:不缓冲查询,直接导出至标准输出2.  ......
  • java数据库连接池介绍与例子
    一、连接池原理及介绍:   数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能......
  • mysql数据库服务主从搭建
    mysql数据库服务主从搭建1、搭建两台数据库服务环境,master,slave数据库搭建参考:https://www.cnblogs.com/zuouncle/p/17713806.html2、查看服务运行状态systemctlstatusmysqld 如果显示以下内容就关闭mysql服务重新启动 3、主库(master)配置配置mysql的启动配置......
  • MySQL运行原理与基础架构
    原始出处:http://harisxiong.blog.51cto.com/7513022/1351370 1.MySQL基础       MySQL是一个开放源代码的关系数据库管理系统。原开发者为瑞典的MySQLAB公司,最早是在2001年MySQL3.23进入到管理员的视野并在之后获得广泛的应用。 2008年MySQL公司被Sun公司收......
  • 数据库三大范式详解
    数据库范式1NF2NF3NFBCNF(实例)  设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范......