首页 > 数据库 >搭建 MariaDB 主从数据库

搭建 MariaDB 主从数据库

时间:2023-09-19 09:46:58浏览次数:40  
标签:数据库 db master mysql MariaDB root 主从

MariaDB Server 是一个通用的开源关系数据库管理系统(RDBMS),它是世界上最受欢迎的数据库服务器之一,拥有包括 Wikipedia、WordPress.com 和 Google 在内的知名用户

MariaDB Server 在 GPLv2 开源许可下发布,并保证保持开源

当 MariaDB Server 的前身 MySQL 于 2009 年被 Oracle 收购时,MySQL 创始人 Michael Widenius 出于对 Oracle 管理权的担忧而分叉了该项目,并将新项目命名为 MariaDB

MySQL 以他的第一个女儿 My 命名,而 MariaDB 则以他的第二个女儿 Maria 命名

 

部署环境:

Debian 12(bookworm)

mariadb-server  10.11

master:172.16.201.11(db-alpha)

slave:172.16.201.12(db-beta)

# 配置 IP 和主机名解析

vim /etc/hosts

172.16.201.11    db-alpha

172.16.201.12    db-beta

# 1. 双节点安装数据库服务

apt install -y mariadb-server

systemctl enable mariadb --now

# 2. 初始化数据库

mysql_secure_installation (数据库初始化命令)

Enter current password for root (enter for none):          # 输入数据库当前 root 密码,第一次安装使用按 Enter 键

Switch to unix_socket authentication [Y/n] n                # 是否切换到 unix_socket 身份验证

Change the root password? [Y/n] y                             # 更改数据库 root 用户密码

New password: 000000                                             # 输入数据库 root 密码 000000
Re-enter new password: 000000                                # 再次输入密码 000000

Remove anonymous users? [Y/n] y                              # 删除数据库匿名用户

Disallow root login remotely? [Y/n] n                           # 允许 root 用户远程登录

Remove test database and access to it? [Y/n] y           # 删除 test 数据库

Reload privilege tables now? [Y/n] y                            # 重载权限表

# 3. 配置 master 节点

vim /etc/mysql/mariadb.conf.d/50-server.cnf

bind-address                = 172.16.201.11              
server_id                      = 11                              

log_bin                         = /var/log/mysql/mysql-bin.log

# 重启数据库服务,并进入数据库

systemctl restart mariadb

mysql -uroot -p000000

MariaDB [(none)]> grant all privileges  on *.* to root@'%' identified by "000000";

Query OK, 0 rows affected (0.02 sec)

MariaDB [(none)]> grant replication slave on *.* to 'replica'@'db-beta' identified by '000000';

Query OK, 0 rows affected (0.02 sec)

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.03 sec)

# 4. 配置 slave 节点

vim /etc/mysql/mariadb.conf.d/50-server.cnf

bind-address                = 172.16.201.12              
server_id                      = 12                              

log_bin                         = /var/log/mysql/mysql-bin.log

# 重启数据库服务,并进入数据库

systemctl restart mariadb

mysql -uroot -p000000

MariaDB [(none)]> change master to master_host='db-alpha',master_user='replica',master_password='000000';
Query OK, 0 rows affected (0.024 sec)

MariaDB [(none)]> start slave;

Query OK, 0 rows affected (0.010 sec)

MariaDB [(none)]> show slave status\G    

# Slave_IO_Running 和 Slave_SQL_Running 的状态都是 Yes,表示数据库主从集群配置成功

 # 5. 验证数据库主从服务

 # 先在 master 节点 db-alpha 中创建库 test,并在库 test 中创建表 company,插入表数据,创建完成后,查看 company 表数据

root@db-alpha:~# mysql -uroot -p000000

 # 登录 db-beta 节点数据库,查看数据库列表。找到 test 数据库,查询表并查询内容验证从数据库的复制功能

root@db-beta:~# mysql -uroot -p000000

 

标签:数据库,db,master,mysql,MariaDB,root,主从
From: https://www.cnblogs.com/demoduan/p/17711688.html

相关文章

  • MySQL主从复制原理
    一张图让你牢记MySQL主从复制原理|原创(qq.com)为什么需要主从复制?1、读写分离,增强MySQL数据库的可用性。2、做数据的热备。3、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。说说BinlogMySQL的Server......
  • 数据库设计三范式
    数据库表的设计依据,教我们怎么进行数据表的设计。第一范式:要求任何一张表都必须有主键,每一个字段原子性(单一性)不可再分。第二范式:建立在第一范式的基础上,要求所有非主键字段完全依赖于主键,不要产生部分依赖。第三范式:建立在第二范式的基础上,要求所有非主键字段完全依赖于主键,不......
  • 如何远程服务上的orcal数据库
    作为软件开发工程师,管理数据库是我们必不可少的日常操作,那么你知道怎么用本地主机(可以是PC,也可以是笔记本或者其他终端)利用cmd终端命令进行远程管理服务器上的数据库吗?接下来,随着小编的脚步一起来看看,具体是怎么操作的!1.下载安装instantclient工具下载安装Oracle数据库的客户......
  • openGauss学习笔记-73 openGauss 数据库管理-创建和管理索引
    openGauss学习笔记-73openGauss数据库管理-创建和管理索引73.1背景信息索引可以提高数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。所以是否要为表增加索引,索引建立在哪些字段上,是创建索引前必须要考虑的问题。需要分析应用程序的业务处理、数据使用、经常被......
  • 在EasyGBS数据库中怎么样存储视频,有哪些方式储存视频
    EasyGBS平台是一款安防视频监控/视频集中存储/云存储/磁盘阵列平台,具有强大的可拓展性和灵活的视频能力,轻便易部署。该平台支持国标GB28181、RTSP/Onvif、RTMP等主流标准协议,以及海康Ehome、海大宇等设备的SDK接入。有两种方法:1、在数据库中建立相关表保存视图的相对路径即可调......
  • 不要使用count(列名)或count(常量)来替代count(*),count(*)就是SQL92定义的标准统计行
    慢SQL治理经验总结https://mp.weixin.qq.com/s/LZRSQJufGRpRw6u4h_Uyww慢SQL治理经验总结原创 药糖 大淘宝技术 2023-09-1816:20 发表于浙江 在过去两年的工作中,我们团队曾负责大淘宝技术的慢SQL治理工作,作为横向的数据安全治理平台,如何快速准确地发现部门内所有应用......
  • KingbaseES数据库适配Activiti7 didn't put process definition问题处理过程
    一、Activiti介绍Activiti是一个轻量级的java开源BPMN2工作流引擎.目前以升级至7.x,支持与springboot2.x集成.二、项目环境SpringBoot版本2.2.5Activiti版本7.1.x源数据库:MySQL5.7目标数据库:KinbgaseESV008R006C007B0024JDBC驱动:Postgre形态的JDBC驱动,postgresql-42.......
  • KingbaseES数据库配置Hikari数据源
    Hikari是一个高性能的数据库连接池,它是SpringBoot2.x中的默认数据源。一、下载驱动打开下面网址:选择对应平台的jdbc驱动程序。人大金仓-成为世界卓越的数据库产品与服务提供商(kingbase.com.cn)这里以x86平台为例:下载完成后目录里面包含以下文件:根据项目的JDK版本选择对应......
  • KingbaseES V8R3集群运维案例之---主库数据库服务down后failover切换详解
    案例说明:对KingbaseESV8R3集群,主库数据库服务down后,failover切换进行分析,详解其执行切换的过程,本案例可用于对KingbaseESV8R3集群failover故障的分析参考。适用版本:KingbaseESV8R3集群架构:node_id|hostname|port|status|lb_weight|role|select_cnt......
  • kingbaseES 优化之数据库瓶颈排查
    针对数据库的性能瓶颈排查方法分为两个层次1、实例级别性能问题排查2、语句级别性能问题排查实例级别实例级别性能问题排查用来分析数据库实例整体是否存在性能瓶颈,然后根据排除出的疑似问题进行实例级别参数的优化。使用场景包括1、压测场景下数据库整体优化2、上线之前数......