一、基础环境

二、配置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主从复制和读写分离的更多相关文章

  1. Mysql实战之主从复制的读写分离

    author:JevonWei 版权声明:原创作品 ProxySQL构建主从复制的读写分离 ProxySQL官网及下载地址 http://www.proxysql.com/ 架构角色 mysql-sl ...

  2. 30.Mysql主从复制、读写分离

    Mysql主从复制.读写分离 目录 Mysql主从复制.读写分离 读写分离 读写分离概述 为什么要读写分离 什么时候要读写分离 主从复制与读写分离 mysql支持的复制类型 主从复制的工作过程 初始环 ...

  3. Mysql主从复制,读写分离(mysql-proxy),双主结构完整构建过程

    下面介绍MySQL主从复制,读写分离,双主结构完整构建过程,不涉及过多理论,只有实验和配置的过程. Mysql主从复制(转载请注明出处,博文地址:) 原理是master将改变记录到二进制日志(bina ...

  4. redis的主从复制,读写分离,主从切换

    当数据量变得庞大的时候,读写分离还是很有必要的.同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能. redis提供了一个master,多个s ...

  5. MySQL5.6 Replication主从复制(读写分离) 配置完整版

    MySQL5.6 Replication主从复制(读写分离) 配置完整版 MySQL5.6主从复制(读写分离)教程 1.MySQL5.6开始主从复制有两种方式: 基于日志(binlog): 基于GTI ...

  6. Mysql主从复制,读写分离

    一个简单完整的 Mysql 主从复制,读写分离的示意图. 1. 首先搭建 Mysql 主从架构,实现 将 mater 数据自动复制到 slave MySQL 复制的工作方式很简单,一台服务器作为主机, ...

  7. Mysql 主从复制,读写分离设置

    一个简单完整的 Mysql 主从复制,读写分离的示意图. 1. 首先搭建 Mysql 主从架构,实现 将 mater 数据自动复制到 slave MySQL 复制的工作方式很简单,一台服务器作为主机, ...

  8. Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)

    Redis的集群方案大致有三种:1)redis cluster集群方案:2)master/slave主从方案:3)哨兵模式来进行主从替换以及故障恢复. 一.sentinel哨兵模式介绍Sentinel ...

  9. mysql主从复制以及读写分离

    之前我们已经对LNMP平台的Nginx做过了负载均衡以及高可用的部署,今天我们就通过一些技术来提升数据的高可用以及数据库性能的提升. 一.mysql主从复制 首先我们先来看一下主从复制能够解决什么问题 ...

随机推荐

  1. 软件测试必须掌握的抓包工具Wireshark,你会了么?

    作为软件测试工程师,大家在工作中肯定经常会用到各种抓包工具来辅助测试,比如浏览器自带的抓包工具-F12,方便又快捷:比如时下特别流行的Fiddler工具,使用各种web和APP测试的各种场景的抓包分析 ...

  2. P2669 金币

    题目描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第二天和第三天),每天收到两枚金币:之后三天(第四.五.六天),每天收到三枚金币:之后四天(第七.八.九.十天),每 ...

  3. 原生js删除增加修改class属性

    其实html5已经扩展了class操作的相关API,其中classList属性就以及实现了class的增删和判断. HTML DOM classList 属性 classList属性的方法有: add ...

  4. MySql计算字段的长度

    用户账号有用中文字符,查找所有含有中文字符的账号 SELECT member_name FROM table_member WHERE length(member_name)!=char_length ...

  5. 生成n个随机数,要求n个数的和等于100

    // 生成n个随机数,要求n个数的和等于100 function lessANumber(n, v) { var i, s = 0, r = [], x = v; for (i = 1; i < ...

  6. 一条数据的HBase之旅,简明HBase入门教程3:适用场景

    [摘要] 这篇文章继HBase数据模型之后,介绍HBase的适用场景,以及与一些关键场景有关的周边技术生态,最后给出了本文的示例数据 华为云上的NoSQL数据库服务CloudTable,基于Apach ...

  7. git 提交代码步骤

    拉取服务器代码,避免覆盖他人代码 git pull 查看当前项目中有哪些文件被修改过 git status 提交代码至缓存 git add . 将代码提交到本地仓库中 git commit -m “提 ...

  8. HDU-1274

    在纺织CAD系统开发过程中,经常会遇到纱线排列的问题.  该问题的描述是这样的:常用纱线的品种一般不会超过25种,所以分别可以用小写字母表示不同的纱线,例如:abc表示三根纱线的排列:重复可以用数字和 ...

  9. POJ 3281 Dining(网络流-拆点)

    Cows are such finicky eaters. Each cow has a preference for certain foods and drinks, and she will c ...

  10. 从零开始入门 K8s | etcd 性能优化实践

    作者 | 陈星宇(宇慕)  阿里云基础技术中台技术专家 本文整理自<CNCF x Alibaba 云原生技术公开课>第 17 讲. 导读:etcd 是容器云平台用于存储关键元信息的组件.阿 ...