1,什么是读写分离?

其实就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作,

主从库之间通过某种机制进行数据的同步,是一种常见的数据库架构。

一个组从同步集群,通常被称为是一个“分组”。

2,数据库分组架构解决什么问题?

大多数互联网业务,往往读多写少,这时候,数据库的读会首先称为数据库的瓶颈,

这时,如果我们希望能够线性的提升数据库的读性能,消除读写锁冲突从而提升数据库的写性能,那

么就可以使用“分组架构”(读写分离架构)。

用一句话概括,读写分离是用来解决数据库的读性能瓶颈的。

3,什么是数据库水平切分?

数据库水平切分,也是一种常见的数据库架构,是一种通过算法,将数据库进行分割的架构。

一个水平切分集群中的每个数据库,通常称为一个“分片”。

每一个分片中的数据没有重合,所有分片中的数据并集组成全部数据。

步骤一:搭建MySQL一主一从同步结构

1)配置主服务器192.168.4.51

]# vim /etc/my.cnf

[mysqld]

server_id=51 //指定服务器ID号

log-bin=master51 //启用binlog日志,并指定文件名前缀

...

[root@master10 ~]# systemctl restart mysqld //重启mysqld

2)主服务器授权用户,并查看binlog日志信息

]# mysql -uroot -p123456

mysql> grant all on *.* to 'repluser'@'%' identified by '123456';

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> show master status;

+-----------------+----------+--------------+------------------+-------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+-----------------+----------+--------------+------------------+-------------------+

| master51.000001 | 449 | | | |

+-----------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

3)配置从服务器192.168.4.52

]# vim /etc/my.cnf

[mysqld]

server_id=52 //指定服务器ID号,不要与Master的相同

:wq

]# systemctl restart mysqld

4)配置从服务器192.168.4.52,指定主服务器信息,日志文件、偏移位置(参考MASTER上的状态输出)

]# mysql -uroot -p123456

mysql> change master to master_host='192.168.4.51',

-> master_user='repluser',

-> master_password='123456',

-> master_log_file='master51.000001',

-> master_log_pos=449;

Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql> start slave;

Query OK, 0 rows affected (0.01 sec)

mysql> show slave status\G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.4.51

Master_User: repluser

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: master51.000001

Read_Master_Log_Pos: 738

Relay_Log_File: slave20-relay-bin.000002

Relay_Log_Pos: 319

Relay_Master_Log_File: master51.000001

Slave_IO_Running: Yes //IO线程YES

Slave_SQL_Running: Yes //SQL线程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: 738

Relay_Log_Space: 528

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: 10

Master_UUID: 95ada2c2-bb24-11e8-abdb-525400131c0f

Master_Info_File: /var/lib/mysql/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:

1 row in set (0.00 sec)

5)测试配置,在主服务器本机创建数据库 aa库

]# mysql –uroot –p123456

mysql> create database aa;

Query OK, 1 row affected (0.00 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| aa |

| mysql |

| performance_schema |

| sys |

+--------------------+

5 rows in set (0.00 sec)

6)从服务器上查看,有aa库

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| aa |

| mysql |

| performance_schema |

| sys |

+--------------------+

5 rows in set (0.00 sec)

备份方式:

冷备份:拷贝数据库目录,需要先停机再备份,对于在线不间断提供业务的不适用

逻辑备份: mysqldump工具,单线程备份,备份速度较慢;mydumper工具,mysqldump升级版,有限制条件

备份单个库:

备份:mysqldump -uroot -p dbname1> 1.sql

还原:mysql -uroot -p dbname1 < 1.sql

备份多个库:

备份:mysqldump -uroot -p --database db1 db2 > 1.sql

还原: mysql -uroot -p < 1.sql

备份全部库:

备份:mysqldump -uroot -p --all-databases > 1.sql

还原:mysql -uroot -p < 1.sql

备份单个表:

备份:mysqldump dbname1 tb1 > 1.sql

还原: mysql -uroot -p dbname1 tb1 < 1.sql

mysql 从库可以写入吗_mysql主从库配置读写分离以及备份相关推荐

  1. mysql建立从库同时备份_mysql主从库配置读写分离以及备份

    1,什么是读写分离? 其实就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作, 主从库之间通过某种机制进行数据的同步,是一种常见的数据库架构. 一个组从同步集群,通常被称为是一个& ...

  2. mysql读写分离错_MySQL主从同步、读写分离配置步骤、问题解决

    根据要求配置MySQL主从备份.读写分离,结合网上的文档,对搭建的步骤和出现的问题以及解决的过程做了如下笔记: 现在使用的两台服务器已经安装了MySQL,全是rpm包装的,能正常使用. 为了避免不必要 ...

  3. 【纯干货】Amoeba实现MySQL主从同步与读写分离

    [纯干货]Amoeba实现MySQL主从同步与读写分离 一.简介 amoeba简介 Amoeba(变形虫)项目,该开源框架于2008年开始发布一款 Amoeba for Mysql软件.这个软件致力于 ...

  4. 高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制)

    高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制) 视频地址:https://www.bilibili.com/video/BV1ry4y1v7Tr?p=8& ...

  5. mysql读写分离有用吗_MySQL的使用中实现读写分离的教程

    mysql-proxy实现读写分离 MySQL Proxy是一个处于你的client端和MySQL server端之间的简单程序,它可以监测.分析或改变它们的通信.它使用灵活,没有限制,常见的用途包括 ...

  6. mysql主从和mycat读写分离的安装及验证

    目录 一.背景介绍 二.安装mysql数据库(主从机器都需要先这样安装) 三.主从机配置 1.主服务器进行如下操作 2.从服务器进行如下操作 四.代理服务器安装和配置mycat读写分离 五.主从复制. ...

  7. Django项目配置mysql主从数据库实现读写分离

    1.在配置文件中添加slave数据库的配置 DATABASES = {     'default': {         'ENGINE': 'django.db.backends.mysql',   ...

  8. thinkphp读写mysql的枷锁_thinkphp5 数据库配置读写分离

    mysql配置主从数据库同步成功后,接下来就要在程序中配置数据库来实现读写分离啦 我们这里用的thinkphp5框架 配置读写分离非常简单 return [ // 数据库类型 'type' => ...

  9. mysql5.7主从同步与读写分离

    读写分离 Mysql主从复制的过程 读写分离原理 配置主从同步 主服务编译 部署第一台从服务器 部署第2台从服务器配置 配置读写分离关键服务 定义具体的读写分离对象 配置amoeba的主配置文件amo ...

最新文章

  1. 全球最大“同性”交友网站GitHub或被微软收购,收购价可能高达 50 亿美元
  2. linux主题管理器,XFCE 主题管理器:一款单一的GUI主题管理器,更改任何XFCE主题(带预览)...
  3. 【Python】【jupyter-notebook】
  4. c语言单链表原地转置,不带头结点的单链表的插入,删除,原地转置,判断空,清空,统计节点数目等操作...
  5. 拓端tecdat|Excel 实例:数据进行排序和筛选
  6. C#的set 和 get 方法
  7. 数据库中的左连接(left join)和右连接(right join)区别
  8. 如何自己去写一个鼠标驱动_方法 - 做手写电子笔记的方法——如何在Windows电脑/平板上做手写笔记(包括非触屏电脑)(MacOS也可以)...
  9. ssr提示服务器名无效_免费领取腾讯云服务器附带新手配置步骤(搭建网站)
  10. 【图像去噪】基于自适应布谷鸟算法优化维纳滤波器实现多光谱图像去噪附matlab代码
  11. 【摄影测量】利用经度L、纬度B、大地高h及heading pitch roll飞行姿态角将IMU惯导坐标系转换到WGS84坐标系
  12. 图像算法工程师 笔试题集锦
  13. 处女作,,QT+arduino的物联网小项目
  14. 计算机网络(重点简单概括)
  15. 离散数学笔记_第一章:逻辑和证明(2 )
  16. 最详细最简单:最大公因数求法、辗转相除法、更相减损法,入门ACM,杭电水题,算法递归,初级算法题一看就懂
  17. ML之SSL:Semi-Supervised Learning半监督学习的简介、应用、经典案例之详细攻略
  18. Exception in thread “main“ java.io.FileNotFoundException: test\mybatis-config.xml (系统找不到指定的路径。)
  19. java版我的世界有溺尸_我的世界:猪灵的金锭能“抢夺”?穿戴金甲的溺尸是要“逆天”?...
  20. carbondata使用笔记

热门文章

  1. python采用面向对象编程模式吗_如何理解 Python 中的面向对象编程?
  2. ie浏览器网页版进入_Win10系统中IE和edge浏览器无法打开网页如何解决
  3. linux 改变文件夹属性,技术|在Linux中用chattr和lsattr命令管理文件和目录属性
  4. python爬取百度域名注册_python爬取百度域名_python爬取百度搜索結果url匯總
  5. mysql中if在oracle怎么用_mysql和oracle的mybatis操作
  6. c mysql 双主复制_mysql双主复制及使用keepalived作高可用的配置详解
  7. win7压缩文件夹怎么压缩到最小
  8. 腾讯视频手机app下载安装_腾讯视频怎么签到
  9. java 图片不能正常移动_Java,我的图像不会更新/移动
  10. json web token没有哪个成分_SpringBoot 2.1.4集成JWT实现token验证