一主一从

准备:两台服务器A、B

操作:

1. 安装 mariadb

两台服务器分别安装好Mariadb

#安装mariadb
sudo yum install mariadb-server
#开启
sudo systemctl start mariadb
#设置开机自动启动
sudo systemctl enable mariadb
#查看状态
sudo systemctl status mariadb
#设置初始密码
sudo mysql_secure_installation

2. 配置主从服务器

分别修改下my.cnf

服务器A:主

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log_bin = /var/lib/mysql/bin-log
log_bin_index = /var/lib/mysql/mysql-bin.index
expire_logs_days = 7
server_id = 160 #主从配置
binlog_format = ROW

服务器B:从

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log_bin = /var/lib/mysql/bin-log
log_bin_index = /var/lib/mysql/mysql-bin.index
expire_logs_days = 7
binlog_format = ROW # 主从配置
server-id=162

修改完成后重启Mariadb服务

systemctl restart mariadb.service

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

gant replication slave on *.* to root@10.10.10.100 identified by '123456';
flush privileges; # ps: 10.10.10.100 为从服务器的ip
# 123456 为从服务器的MySQL密码

3. 登录主服务器的mysql,查询master的状态

show master status;

4. 配置从服务器 Slave

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

5. 为了保证主从数据一致,设置从服务器为只读

show global variables like 'read%'; // 查看 read_only 状态

set global read_only=1; // 当前环境生效,重启后失效
# 可以到 /etc/my.cnf 添加一行 read_only=1,然后重启即可

6. 其他

主从没有同步

#查看Master库状态
show processlist;
show master status;
#再到Slave上查看
show slave status\G
发现从库没有执行SQL
Slave_IO_Running: Yes
Slave_SQL_Running: No

可以忽略错误后,继续同步,这种方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况

stop slave;
#表示跳过一步错误,后面的数字可变
set global sql_slave_skip_counter =1;
start slave;

之后再用mysql> show slave status\G 查看

mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

现在主从同步状态正常了

如果是需要同步主库之前的数据,需要先在主库备份好,然后将备份文件发送到从库的服务器,在从库执行后,才会重新同步

参考链接:

https://blog.csdn.net/qq_32248673/article/details/59055972

https://segmentfault.com/a/1190000038663356

https://blog.starryvoid.com/archives/349.html#1Mariadb

https://dev.mysql.com/doc/refman/5.7/en/replication-configuration.html

https://www.cnblogs.com/yinzhengjie/p/11816066.html

 

Mariadb 主从配置教程的更多相关文章

  1. mysql(mariadb)主从配置

    环境: 内核版本:uname -r 系统版本:cat /etc/redhat-release

  2. MariaDB实现主从配置及读写分离(一)

    一.主从复制方案 1.  在两台CentOS7虚拟机上分别部署MariaDB, 主数据库服务器IP为192.168.17.235, 从服务器IP为192.168.17.238. 从服务器通过调取主服务 ...

  3. Docker部署Zabbix监控MariaDB主从同步(Percona Monitoring Plugins for Zabbix)

    一.安装Docker并部署Zabbix 建议先配置清华大学的docker-ce yum源,速度有保障:清华大学repo源 1.Zabbix Server节点配置 部署环境: [root@server0 ...

  4. MariaDB主从备份记录

    一.预期效果: 环境: centos 6.5   mariadb 10.0.14 (mysql -V) 主服务器:192.168.5.206   从服务器:192.168.5.207   主服务器数据 ...

  5. mysql主从配置和galera集群

    mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...

  6. Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】

    No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...

  7. Redis集群主从复制(一主两从)搭建配置教程【Windows环境】

    如何学会在合适的场景使用合适的技术方案,这值得思考. 由于本地环境的使用,所以搭建一个本地的Redis集群,本篇讲解Redis主从复制集群的搭建,使用的平台是Windows,搭建的思路和Linux上基 ...

  8. mysql 5.5数据库主从配置步骤详解

    上次给大家介绍了mysql 5.1主从搭建配置教程,这次我们来实现mysql 5.5的主从复制,其实大体上配置是差不多的,只有点细微的差别. 系统:centos 5.x 需要的软件包:mysql-5. ...

  9. mariadb主从备份

    mariadb主从备份 master主库配置 停止mariadb systemctl stop mariadb 修改配置文件my.conf vim /etc/my.cnf [mysqld] serve ...

  10. MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)

    MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1)     VMawre-workstation版本包 地址: https://m ...

随机推荐

  1. 超实用!Dify调用Java的3种实现方式!

    在一些复杂的业务中,我们可能需要使用 Dify 调用外部程序(如 Java 程序),因为这样才能满足业务的特殊需求. 例如,当我们使用 Dify 实现"AI 简历自动筛选器"的时候 ...

  2. Lecture 1 NN,KNN

    INT305 Machine Learning Lecture 1 Outline of this course ·Suprevised Learning Nearest Neighbors 近邻 D ...

  3. 万字长文彻底剖析Python正则表达式

    正则表达式在各种语言中都是一个复杂的主题,在Python中,正则表达式设计的尤其复杂以适应不同场景下的脚本. python官方文档提供了正则表达式使用中的各种细节: <正则表达式指南> & ...

  4. [书籍精读]《基于MVC的JavaScript Web富应用开发》精读笔记分享

    写在前面 书籍介绍:<JavaScript异步编程>讲述基本的异步处理技巧,包括PubSub.事件模式.Promises等,通过这些技巧,可以更好的应对大型Web应用程序的复杂性,交互快速 ...

  5. 一文读懂:开源大数据调度系统Taier1.2版本新增的「工作流」到底是什么?

    一.什么是工作流? 在阐述什么是工作流之前,先说一下工作流和普通任务的区别,在于依赖视图. 普通任务本身他只会有自己的dag图,依赖视图是无边界的,不可控的,而工作流则是把整个工作流都展示出来,是有边 ...

  6. solana杂谈(1)

    solana杂谈(1) 本文适用于"只需大致了解 Solana"的读者,部分说法可能不够准确或不够深入.如需详细了解,建议阅读 Solana 的官方文档:https://solan ...

  7. Spring Boot 集成 tess4j 实现图片识别文本

    前言 tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本.支持多种语言和书面语言,并且可以在命令行中执行.它是一个流行的开源OCR工具,可以在许多不同 ...

  8. 做stm32嵌入式的上限是做什么?薪资天花板是多少?

    作为一个在嵌入式领域摸爬滚打了近10年的老兵,看到这个问题时我的内心五味杂陈.说实话,当年24岁刚从机械专业被调剂到电子专业开始接触STM32的时候,我也曾经无数次地问过自己这个问题:做嵌入式到底能走 ...

  9. MySQL 05 深入浅出索引(下)

    覆盖索引 假设要执行一条语句: select * from T where k between 3 and 5; 初始对列k建立了索引,表中数据为: 那么其执行流程为: 在k索引树上找到k=3的记录, ...

  10. codemirror代码格式化

    上效果 代码 此处演示纯js版本,而切实5.x版本,最新版本6.x变化较大,不搞 <!DOCTYPE html> <html lang="en"> < ...