【MySQL】Mariadb主从复制
Mariadb主从复制
环境配置:
Master : 172.30.200.200
Slave : 172.30.200.204
架构图,如下:
Master的配置:
1.binlog配置
[root@oradb u01]# su - mysql
[mysql@oradb ~]$ mkdir -p /u01/data/binlog
[mysql@oradb ~]$ vi /etc/my.cnf
#*********** binlog related settings ***********
log-bin = /u01/data/binlog/mysql-bin
binlog_format= row
binlog_cache_size=32m
max_binlog_cache_size=64m
max_binlog_size=512m
server-id=30200
2.查看binlog的配置[可选看]
[root@oradb u01]# service mysqld restart
[root@oradb u01]# mysql -uroot -predhat
## 查看binlog开启
MariaDB [(none)]> show variables like '%log_bin%';
+---------------------------------+----------------------------------+
| Variable_name | Value |
+---------------------------------+----------------------------------+
| log_bin | ON |
| log_bin_basename | /u01/data/binlog/mysql-bin |
| log_bin_compress | OFF |
| log_bin_compress_min_len | 256 |
| log_bin_index | /u01/data/binlog/mysql-bin.index |
| log_bin_trust_function_creators | OFF |
| sql_log_bin | ON |
+---------------------------------+----------------------------------+
7 rows in set (0.002 sec)
## 查看binlog的格式,是基于行的复制。
MariaDB [(none)]> show variables like '%binlog_format%';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| binlog_format | ROW |
| wsrep_forced_binlog_format | NONE |
+----------------------------+-------+
## 查看最大的binlog size,到了512m切换一个。
MariaDB [(none)]> show variables like '%max_binlog_size%';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| max_binlog_size | 536870912 |
+-----------------+-----------+
1 row in set (0.001 sec)
3.创建replication用户
CREATE USER 'repl'@'172.30.200.204' IDENTIFIED BY 'repl';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'172.30.200.204';
4.定位二进制位置
## 锁定所有的表,保证数据一致性和完整性
MariaDB [(none)]> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 667 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.000 sec)
5.使用mysqldump获取数据库快照
MariaDB [(none)]> FLUSH TABLES WITH READ LOCK;
[root@oradb ~]# mysqldump -uroot -predhat --all-databases --master-data >dbdump.log
MariaDB [(none)]> UNLOCK TABLES;
SLAVE的配置:
1.配置server-id
[root@oradb ~]# vi /etc/my.cnf
## 在[mysqld]作用域下面配置
server-id=30204
2.导入数据
如果是一个新库,可以不用导入数据。直接配置主从。
如果master已有数据,可以导入之前的dump文件。命令如下;
shell> mysql -uroot -predhat < dbdump.log
3.开启主从复制
CHANGE MASTER TO MASTER_HOST='172.30.200.200',MASTER_PORT = 3306,MASTER_USER = 'repl',MASTER_PASSWORD = 'repl',MASTER_LOG_FILE = 'mysql-bin.000001',MASTER_LOG_POS = 667;
4.开启复制
MariaDB [(none)]> start slave;
MariaDB [(none)]> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.30.200.200
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 342
Relay_Log_File: oradb-relay-bin.000003
Relay_Log_Pos: 641
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 342
Relay_Log_Space: 1249
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 30200
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos:
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: conservative
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Slave_DDL_Groups: 0
Slave_Non_Transactional_Groups: 0
Slave_Transactional_Groups: 0
1 row in set (0.000 sec)
ERROR: No query specified
数据测试
1.master端插入数据
MariaDB [(none)]> create database zsd;
MariaDB [(none)]> use zsd;
MariaDB [zsd]> create table test(id int,name varchar(20));
MariaDB [zsd]> insert into test values(1,"张盛东");
MariaDB [zsd]> commit;
2.slave端查询数据
MariaDB [zsd]> select * from test;
+------+-----------+
| id | name |
+------+-----------+
| 1 | 张盛东 |
+------+-----------+
1 row in set (0.000 sec)
【MySQL】Mariadb主从复制的更多相关文章
- mysql/mariadb主从复制
主从复制简介 MySQL数据库的主从复制方案,是其自带的功能,并且主从复制并不是复制磁盘上的数据库文件,而是通过binlog日志复制到需要同步的从服务器上. MySQL数据库支持单向.双向.链式级联, ...
- MySQL(mariadb)主从复制模式与复制过滤
在前一篇文章<mysql多实例与复制应用>中只对mysql的复制做了简单的介绍,本篇内容专门介绍一下mysql的复制. MySQL复制 mysql复制是指将主数据库的DDL和DML操作通过 ...
- MySQL(mariadb)多实例应用与多实例主从复制
MySQL多实例 mysql多实例,简单理解就是在一台服务器上,mysql服务开启多个不同的端口(如3306.3307,3308),运行多个服务进程.这些 mysql 服务进程通过不同的 socket ...
- Linux mariadb(Mysql)的主从复制架构
mysql的主从复制架构,需要准备两台机器,并且可以通信,安装好2个mysql,保持版本一致性 mysql -v 查看数据库版本 1.准备主库的配置文件 /etc/my.cnf 写入开启主库的参数[ ...
- Linux - centos7 下 MySQL(mariadb) 和 主从复制
目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...
- MySQL/MariaDB数据库的主从复制
MySQL/MariaDB数据库的主从复制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL复制概述 1>.传统扩展方式 垂直扩展(也叫向上扩展,Sacle ...
- mysql/mariadb基于ssl的主从复制
当mysql/mariadb跨越互联网进行复制时别人可以窃取到mysql/mariadb的复制信息, 这些信息是明文的, 因此存在不安全性, 这里通过ssl对复制的信息进行加密 1. 创建证书中心 在 ...
- MariaDB主从复制的逻辑与实现
一.关系型数据库的劣势 “关系型数据库:指采用了关系模型来组织数据的数据库,而关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织.”——Wiki 关系型数据 ...
- Linux-基础学习(五)-mariadb主从复制以及redis学习
开始今日份整理 1.mariadb的主从复制 主从复制大致图示: 1.1 mysql基本命令复习 linux下的操作 .启动mysql systemctl start mariadb .linux客户 ...
随机推荐
- jQuery 源码分析(十八) ready事件详解
ready事件是当DOM文档树加载完成后执行一个函数(不包含图片,css等),因此它的触发要早于load事件.用法: $(document).ready(fun) ;fun是一个函数,这样当DOM树加 ...
- docker 集群管理gui
k8s: https://www.rancher.cn/ swarm: https://github.com/dockersamples/docker-swarm-visualizer https:/ ...
- C#排序案例
using System; namespace 排序案例 { class Program { static void Main(string[] args) { //定义随机数列 int a, b, ...
- Wpf Prism.Unity 7
Prism.Unity 中UnityBootStrapper已经不用了,可以继承PrismApplication 1.Install-package Prism.Unity -v 7.2.0.1367 ...
- 用Python在Excel里画出蒙娜丽莎
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 麦麦麦造 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...
- Python数据分析揭秘知乎大V的小秘密
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 清风小筑 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...
- Python用python-docx读写word文档
python-docx库可用于创建和编辑Microsoft Word(.docx)文件.官方文档:https://python-docx.readthedocs.io/en/latest/index. ...
- idea中git标签(tag)的创建与使用
1.什么是标签 通常,发布一个版本时,会在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来. 所以,标签也是 ...
- 渗透测试学习 二十、 其他漏洞汇总之PHP相关漏洞
大纲: PHP相关漏洞 JSP相关漏洞 其他漏洞汇总 PHP相关漏洞 文件包含漏洞 php://input等伪协议利用 代码执行漏洞 变量覆盖漏洞 文件包含漏洞 程序开发人员一般会把重复使用的函数写到 ...
- 【西北师大-2108Java】第二次作业成绩汇总
2[西北师大-2108Java]第二次作业成绩汇总 以命令行方式或在Eclipse集成开发环境中编辑.编译.运行第3章示例程序3-1-3-5,结合程序运行结果理解程序代码,每个示例程序从语法.算法两个 ...