广告
返回顶部
首页 > 资讯 > 移动开发 >MariaDB数据库的主从配置
  • 283
分享到

MariaDB数据库的主从配置

数据库运维 2023-10-18 16:10:32 283人浏览 独家记忆
摘要

1、前置工作 首先准备两台可以互相ping通的机器,两台机器可以互为主从,示例:10.210.23.77主服务器 183从服务器 2、安装 在两台机器上各自安装数据 解压MariaDB安装包; tar zxvf MariaDB.tgz cd

1、前置工作

首先准备两台可以互相ping通的机器,两台机器可以互为主从,示例:10.210.23.77主服务器

183从服务器

2、安装

在两台机器上各自安装数据

解压MariaDB安装包;

tar zxvf MariaDB.tgz
cd mariadb

 安装MariaDB依赖包;

rpm -ivh *.rpm --force --nodeps

 启动MariaDB服务

systemctl start mariadb

 安全配置

# 启动成功后运行如下命令进行安全配置Mysql_secure_installation

# 开始安全配置

  ① 输入当前密码,初次安装后是没有密码的,直接回车

  ② 未root设置密码,输入Y。

③ 设置root密码,输入inf0sec312

④ 确认输入root密码,再次输入inf0sec312。

⑤ 是否移除匿名用户,输入Y。

⑥ 拒绝用户远程登录,输入n。

⑦ 删除test库,输入n。

⑧ 重新加载权限表,输入Y

如下图所示,完成配置。

 赋予root用户远程连接权限

# 输入密码登录MariaDB控制台mysql -u root -p # 赋予root用户远程连接权限grant all privileges on *.* to 'root'@'%' identified by 'inf0sec312' with grant option;# 刷新flush privileges;

 赋予root用户远程连接权限命令中“inf0sec312”为数据库密码,与4中安全配置密码一致。请根据现场配置进行修改。

完成MariaDB安装和配置 

 注意:这种方式安装的mariadb数据库各种配置文件不在一个地方,分散到/usr/bin/下,/var/lib/mysql/下

3、配置

10.210.23.77主服务配置

[mysqld]skip-grant-tablesdatadir=/var/lib/mysqlSocket=/var/lib/mysql/mysql.socklog-error=/var/log/mariadb/mariadb.logpid-file=/run/mariadb/mariadb.pidlog_slave_updates=trueexpire_logs_days=7max_binlog_size=500Mslave_parallel_threads=2binlog_fORMat=ROW#复制框架server_id=1log_bin=binlogmax_connections=200

 10.20.84.183从服务配置

[mysqld]skip-grant-tablesdatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socklog-error=/var/log/mariadb/mariadb.logpid-file=/run/mariadb/mariadb.pidlog_slave_updates=trueexpire_logs_days=7max_binlog_size=500Mslave_parallel_threads=2binlog_format=ROW#复制框架server_id=2log_bin=binlogmax_connections=200

在使用脚本mariadb时,通过脚本设置密码时,就不再执行mysql_secure_installation了,所以需要先设置无密码登录,否则直接执行修改密码语句会报错,如图所示:

skip-grant-tables代表跳过权限认证可进登录,所有配置文件添加这条,便可实现无密码进行登录数据,但是加了这个,对数据库的安全性造成一定的威胁,所以及时禁用

进去数据库之后改密码,随后再把配置文件中的skip-grant-tables删掉,重启数据库

 注意:无密码进去数据库之后修改之前先进行刷新权限,否则语句执行报错

log-error:代表mariadb的错误日志文件所在目录

server_id:代表每个机器的唯一标识符,切记不可重复!!!

log_bin:开启二进制日志文件,binlog是日志文件名

binlog-do-db:代表要同步的数据库,若不配置此项,则代表同步所有数据库,上面配置则没配置,代表同步所有数据库

在主服务器上建立帐户并授权slave

create user 'rep'@'%' identified with mysql_native_passWord by '$mysql_pwd';grant replication slave on *.* to 'rep'@'%';flush privileges;

登录主服务器10.210.23.77的mariadb,查询master的状态 

配置从服务器 Slave10.20.84.183

change master to master_host='10.210.23.77',master_user='root',master_password='123456',master_log_file='bin-log.000002',master_log_pos=2759;# ps:10.210.23.77 为主服务器ip# bin-log.000002 为上面第三点的 File# 2759为上面第三点的 Position
# 启动从服务器复制功能start slave;# 检查从服务器复制功能状态show slave status\G

 

 看到Slave_IO_Running和Slave_SQL_Running两项值都为yes,则代表配置成功

登录服务器10.20.84.183的mariadb,查询master的状态 

 配置从服务器Slave10.210.23.77

change master to master_host='10.20.84.183',master_user='root',master_password='123456',master_log_file='bin-log.000002',master_log_pos=2759;# ps:10.20.84.183 为主服务器ip# bin-log.000002 为上面第三点的 File# 2759为上面第三点的 Positionchange master to master_host='10.210.23.77',master_user='root',master_password='123456',master_log_file='bin-log.000002',master_log_pos=2759;# ps:10.210.23.77 为主服务器ip# bin-log.000002 为上面第三点的 File# 2759为上面第三点的 Position
# 启动从服务器复制功能start slave;# 检查从服务器复制功能状态show slave status\G

  看到Slave_IO_Running和Slave_SQL_Running两项值都为yes,则代表配置成功

此时,两台机器的互为主从已经配置好

Slave_IO_Running负责与主机的io通信,Slave_SQL_Running自己的slave mysql进程

在配置过程中,会存在Slave_IO_Running为no和Connecting 都非yes的情况

1.问题原因:

      (1)网络不通

      (2)防火墙端口未开放

      (3)mysql账户密码错误

      (4)mysql主从机配置文件写错

      (5)配置从机连接语法错误

      (6)主机未开放账户连接权限

2、解决步骤

(1)网络不通:用ping指令尝试是否可以接收到返回的数据

 (2)防火墙端口未开放:

1:查看防火状态systemctl status firewalldservice  iptables status 2:暂时关闭防火墙systemctl stop firewalldservice  iptables stop 3:永久关闭防火墙systemctl disable firewalldchkconfig iptables off 4:重启防火墙systemctl enable firewalld

(3)从服务器在配置时主服务器的二进制日志名称写错,我就是!!!

所以好好检查show master status查出的File对应的文件名

(4)主机未开放账户连接权限

通过指令"select user,host from user;"查看备份账号IP访问权限是否为'%',通过"show grants for repl"查看复制账户是否拥有REPLICATION CLIENT、REPLICATION SLAVE、SUPER、RELOAD权限;

   如果没有的话使用命令授权

grant REPLICATION CLIENT ON *.* TO repl;grant REPLICATION SLAVE ON *.* TO repl;grant SUPER ON *.* TO repl;grant reload on *.* to repl;FLUSH PRIVILEGES;

  最后从机重启slave配置"stop slave","start slave","show slave status"

也可以使用mysql -u root -h10.20.84.183命令,查看是否当前用户有权限进入另一台机器

4、测试

在两台机器的数据库上进行insert、update、del操作,可以看到另一台机器的数据库也做了相应改动,则双机热备全部完成

5、问题总结

机器重启后,mariadb数据库服务起不来

执行systemctl stop mariadb不报错

执行systemctl status mariadb报错

执行systemctl start mariadb也报错

排查一番,仍未解决,去mariadb日志查询:路径为:/var/log/mariadb/mariadb.log

定位错误,开始百度,发现是重启机器造成了pid文件丢失,解决方法如下

给PID所在的路径添加mysql属主与属组的权限> mkdir /var/run/mariadb

> chown mysql.mysql /var/run/mariadb/

参考博客:centos mysql pid_Centos下Mysql因为pid文件启动失败问题解析-CSDN博客

来源地址:https://blog.csdn.net/qq_42383970/article/details/131226045

--结束END--

本文标题: MariaDB数据库的主从配置

本文链接: https://www.lsjlt.com/news/431484.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MariaDB数据库的主从配置
    1、前置工作 首先准备两台可以互相ping通的机器,两台机器可以互为主从,示例:10.210.23.77主服务器 183从服务器 2、安装 在两台机器上各自安装数据 解压MariaDB安装包; tar zxvf MariaDB.tgz cd...
    99+
    2023-10-18
    数据库 运维
  • Mariadb数据库主从复制同步配置过程实例
    目录一、环境规划二、mariadb的主从复制介绍1.主从复制简介2.半同步复制介绍3.主从复制原理图三、安装Mariadb1.配置yum仓库2.检查yum仓库3.安装mariadb4.启动mariadb服务5.从节点安装...
    99+
    2022-11-24
    Mariadb主从复制同步配置 Mariadb数据库主从配置
  • MariaDB、MySQL数据库主从同步
    1、Mysql主从同步异步概念    异步:主服务器写完日志后立即返回同步完成消息,不受从服务器的状态和影响,mysql默认为异步工作模式  &n...
    99+
    2022-10-18
  • MySQL数据库的主从配置(多主对一从)
    一、实验环境部署主服务器 192.168.18.42 端口3306  ==》 从服务器 192.168.18.44 端口 3306    主服务器...
    99+
    2022-10-18
  • 数据库基本主从配置
    环境需要:数据库服务器ip需在同网络内 以下环境:192.168.4.54为主服务器 192.168.4.55为从服务器#systemctl stop firewalld #systemctl disabl...
    99+
    2022-10-18
  • Mysql数据库的主从同步配置
    目录Mysql主从同步配置1、安装两个 mysql 2、编写mysql配置文件3、初始化数据4、其他mysql 相关命令Mysql主从同步配置 配置准备: 需要两个数据库...
    99+
    2022-11-12
  • 配置mysql数据库主从复制
        一、    原理说明 复制有以下三个步骤:   (a)主服务器把数据更改记录到二进制日志中。(这叫做二进制日志事件(binary...
    99+
    2022-10-18
  • mysql数据库主从同步之双主配置----互为主从
    Mysql数据库复制原理:整体上来说,复制有3个步骤:   (1)master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log even...
    99+
    2022-10-18
  • RHEL7.2配置安装MariaDB数据库
    MariaDBMariaDB是MySQL的一个分支,从MySQL被甲骨文收购之后开发的一个替代品,目前全部兼容MySQL。MariaDB 是一个采用 Maria 存储引擎的MySQL 分支版本,是由原来 M...
    99+
    2022-10-18
  • 配置galera+nginx 实现 mariadb、mysql数据库多主模式
        需求 、解决问题点:    1:现有的mysql数据主从模式,数据同步延迟;   &nb...
    99+
    2022-10-18
  • Linux下Mongodb数据库主从同步配置
    说明:有两台已经安装完成的Mongodb数据库服务器,现在需要把一台设置为主库,另一台设置为从库,实现主从同步。操作系统:CentOS 7.0 64位MongoDB数据库版本:mongodb-linux-x...
    99+
    2022-10-18
  • linux下mysql数据库主从同步配置
    说明:操作系统:CentOS 5.x 64位MySQL数据库版本:mysql-5.5.35MySQL主服务器:192.168.21.128MySQL从服务器:192.168.21.129准备篇:说明:在两台...
    99+
    2022-10-18
  • 怎么在MySQL数据库中配置主从
    怎么在MySQL数据库中配置主从?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. 主设置(master)修改mysql配置文...
    99+
    2022-10-18
  • Mysql数据库主从同步简单配置
    一、主从同步:(A--->B) master:192.168.71.128slave:192.168.71.138 1、Master配置:vi /etc/my.cnfserver-...
    99+
    2022-10-18
  • Mysql 数据库 主从数据库 (主从)(主主)
    一、什么是主从数据库 主从数据库就是把数据库架构分为主数据库和从数据库。从数据库是主数据库的备份,以提高数据的安全性,不至于一个数据库崩掉而导致整个项目也运行不起来。可以有效的防止财产的损失。一般从库只做查询操作,而主库则做更改操作,也就是...
    99+
    2023-09-28
    数据库 mysql 服务器
  • MySQL数据库的主从配置有哪些问题
    这篇文章主要介绍MySQL数据库的主从配置有哪些问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!  MySQL数据库是一种功能性不是很强大的关系型数据库管理系统,尽管功能不完善,但...
    99+
    2022-10-19
  • MySQL8.0.28数据库安装和主从配置说明
    目录1. 检查服务器是否有mysql服务并卸载2. 将安装包拷贝到指定目录并安装2.1 解压安装包2.2 重命名解压文件夹名称2.3 在mysql目录下创建data目录存放数据2.4 更换mysql目录的所属用户和用户组...
    99+
    2022-12-08
    MySQL8.0.28安装 MySQL8.0.28 MySQL数据库安装 MySQL主从配置
  • 如何在Linux中配置MariaDB数据库
    这篇文章将为大家详细讲解有关如何在Linux中配置MariaDB数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统...
    99+
    2023-06-07
  • Linux怎么安装配置MariaDB数据库
    本篇内容介绍了“Linux怎么安装配置MariaDB数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  MariaDB是采用Maria存...
    99+
    2023-06-13
  • Mysql中怎么创建数据库并配置主从
    这篇文章将为大家详细讲解有关Mysql中怎么创建数据库并配置主从,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、主服务器上创建一个用于复制的账户。 my...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作