MariaDB主从复制和读写分离
一、基础环境


二、配置MariaDB服务
1.安装MariaDB
# yum install -y mariadb mariadb-server # systemctl start mariadb # systemctl enable mariadb
2.安全配置
# mysql_secure_installation
3.调优
# vi /etc/my.cnf.d/server.cnf
在[mysqld]插入以下项
[mysqld]
skip_name_resolve=ON
innodb_file_per_table=ON
4.授权访问
MariaDB [(none)]> use mysql; MariaDB [mysql]> grant all privileges on *.* to 'root'@'ip' identified by 'your passwd'; //授权制定ip访问 MariaDB [mysql]> grant all privileges on *.* to 'root'@'%' identified by 'your passwd'; //授权所有ip访问 MariaDB [mysql]> flush privileges; MariaDB [mysql]> \q
三、配置主从同步
1.配置node01主节点
# vim /etc/my.cnf.d/server.cnf
在 [mysqld] 追加以下项

[mysqld]
skip_name_resolve=ON
innodb_file_per_table=ON server_id=1
log_bin=master-bin
更改配置后重启mariadb服务
# systemctl restart mariadb
创建用户tichy,slave节点通过用户tichy复制数据
MariaDB [mysql]> grant replication slave,replication client on *.* to 'tichy'@'10.100.1.%' identified by 'tichy'; MariaDB [mysql]> flush privileges;
查看主节点状态
MariaDB [(none)]> show master status;

2.配置node02和node03从节点
# vim /etc/my.cnf.d/server.cnf

[mysqld]
skip_name_resolve=ON
innodb_file_per_table=ON server_id=2
relay_log=relay-log
read_only=ON
指向主库
MariaDB [(none)]> change master to master_host='10.100.1.121',master_user='tichy',master_password='tichy',master_log_file='master-bin.000001',master_log_pos=245;

node03和node02配置方法一样,但server_id一定要区分开

3.主从测试
在node01主节点上创建数据库、创建表、插入数据
创建库
MariaDB [(none)]> create database tichy;
创建表
MariaDB [(none)]> use tichy;
Database changed
MariaDB [tichy]> create table person(id int, name varchar(20), age int);
Query OK, 0 rows affected (0.01 sec)
插入数据
MariaDB [tichy]> insert into person values('1','tom','28'),('2','jerry','27');
查看库表
MariaDB [tichy]> select * from person;
+------+-------+------+
| id | name | age |
+------+-------+------+
| 1 | tom | 28 |
| 2 | jerry | 27 |
+------+-------+------+
2 rows in set (0.00 sec)
在node02和node03从节点上查询
MariaDB [(none)]> select * from tichy.person;
+------+-------+------+
| id | name | age |
+------+-------+------+
| 1 | tom | 28 |
| 2 | jerry | 27 |
+------+-------+------+
2 rows in set (0.00 sec)
可以看到库表数据,主从复制配置成功。
四、主从读写分离
1.配置mysql-proxy
# wget https://cdn.mysql.com/archives/mysql-proxy/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz

MariaDB主从复制和读写分离的更多相关文章
- Mysql实战之主从复制的读写分离
author:JevonWei 版权声明:原创作品 ProxySQL构建主从复制的读写分离 ProxySQL官网及下载地址 http://www.proxysql.com/ 架构角色 mysql-sl ...
- 30.Mysql主从复制、读写分离
Mysql主从复制.读写分离 目录 Mysql主从复制.读写分离 读写分离 读写分离概述 为什么要读写分离 什么时候要读写分离 主从复制与读写分离 mysql支持的复制类型 主从复制的工作过程 初始环 ...
- Mysql主从复制,读写分离(mysql-proxy),双主结构完整构建过程
下面介绍MySQL主从复制,读写分离,双主结构完整构建过程,不涉及过多理论,只有实验和配置的过程. Mysql主从复制(转载请注明出处,博文地址:) 原理是master将改变记录到二进制日志(bina ...
- redis的主从复制,读写分离,主从切换
当数据量变得庞大的时候,读写分离还是很有必要的.同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能. redis提供了一个master,多个s ...
- MySQL5.6 Replication主从复制(读写分离) 配置完整版
MySQL5.6 Replication主从复制(读写分离) 配置完整版 MySQL5.6主从复制(读写分离)教程 1.MySQL5.6开始主从复制有两种方式: 基于日志(binlog): 基于GTI ...
- Mysql主从复制,读写分离
一个简单完整的 Mysql 主从复制,读写分离的示意图. 1. 首先搭建 Mysql 主从架构,实现 将 mater 数据自动复制到 slave MySQL 复制的工作方式很简单,一台服务器作为主机, ...
- Mysql 主从复制,读写分离设置
一个简单完整的 Mysql 主从复制,读写分离的示意图. 1. 首先搭建 Mysql 主从架构,实现 将 mater 数据自动复制到 slave MySQL 复制的工作方式很简单,一台服务器作为主机, ...
- Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)
Redis的集群方案大致有三种:1)redis cluster集群方案:2)master/slave主从方案:3)哨兵模式来进行主从替换以及故障恢复. 一.sentinel哨兵模式介绍Sentinel ...
- mysql主从复制以及读写分离
之前我们已经对LNMP平台的Nginx做过了负载均衡以及高可用的部署,今天我们就通过一些技术来提升数据的高可用以及数据库性能的提升. 一.mysql主从复制 首先我们先来看一下主从复制能够解决什么问题 ...
随机推荐
- 设计模式之建造者模式--PHP
建造者模式:将一个负责对象的构建与它的表示分离,使得同样的构建过程有不同的表示.建造者模式是一步一步创建负责的对象,它允许开发者只通过指定对象的类型和内容就可以创建它们.开发者不需要知道具体的构造细节 ...
- Scala函数式编程(四)函数式的数据结构 上
这次来说说函数式的数据结构是什么样子的,本章会先用一个list来举例子说明,最后给出一个Tree数据结构的练习,放在公众号里面,练习里面给出了基本的结构,但代码是空缺的需要补上,此外还有预留的test ...
- Spring(Bean)4 配置数据源、连接池
<!-- 配置数据源 Mysql c3p0: 连接池. <bean id="dataSource" class="com.mchange.v2.c3p0.Co ...
- CCNA 之 三 TCP/IP 及 子网划分
TCP/IP TCP/IP 协议集或协议簇 概念: 传输控制协议/IRI特网协议(TCP/IP)组是由美国国防比(DoD)所创建的,主要用来确保数据的完整性及毁灭性战争中维持通信 是有一组不同功能的协 ...
- PHP页面跳转传值的三种常见方式
一. POST传值 post传值是用于html的<form>表单跳转的方法,很方便使用.例如: ? 1 2 3 4 5 6 7 <html> <form action ...
- Qt事件分发机制源码分析之QApplication对象构建过程
我们在新建一个Qt GUI项目时,main函数里会生成类似下面的代码: int main(int argc, char *argv[]) { QApplication application(argc ...
- iOS13暂时关闭黑暗模式+应用内状态栏无法显示问题解决办法
现象: iOS13黑暗模式开启后,app显示会出现很多意外显示情况.暂时屏蔽是最好的选择.当开启黑暗模式,且在项目的target对应的info.plist中添加以下设置时(禁用黑暗模式): <k ...
- idea 使用下Java JDK安装
下载idea 百度云: 链接:https://pan.baidu.com/s/1pmDTH-W1_BhSYJAlcAvljQ 提取码:sgmk 下载Java1.8(jdk-8u181 ...
- 大型情感剧集Selenium:8_selenium网页截图的四种方法
有时候,有时候,你会相信一切有尽头-当你的代码走到了尽头,那么保留最后一刻的状态尤为重要,此时你该如何操作?记录日志-没有将浏览器当前的状态进行截图来的直观! 那么,selenium截取截屏,有哪些方 ...
- Python3 网络编程基础1
目录 开发架构 C/S架构 B/S架构 OSI模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 TCP协议 socket 开发架构 C/S架构 client 和 server, 既客户 ...