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 主从延迟、读写分离 7 种解决方案!

    我们都知道互联网数据有个特性,大部分场景都是 读多写少,比如:微博.微信.淘宝电商,按照 二八原则,读流量占比甚至能达到 90% 结合这个特性,我们对底层的数据库架构也会做相应调整.采用 读写分离 处 ...

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

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

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

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

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

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

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

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

  9. apache httpclient 工具类_HttpClient 和Mycat 主从节点和读写分离

    第175次(HttpClient) 学习主题:HttpClient 学习目标: 1 掌握HttpClient自定义工具以及HttpClient具体的使用 对应视频: http://www.itbaiz ...

最新文章

  1. 在写游戏时钟类时,应确保时钟的计算是以某个固定的CPU为标准的
  2. 如何提升深度学习性能?数据、算法、模型一个都不能少
  3. 反对人工智能的九条意见是什么?
  4. 使用oracheck进行系统巡检
  5. java 命令行 读取文件_java读取txt文件
  6. 2019牛客多校一 D. Parity of Tuples
  7. Sim300设计手册(转)
  8. MySQL高级 - 案例 - AOP记录日志
  9. wireshark-win64-3.4.0安装_这9类轴承的安装方法,你可都知道?有哪些需要注意的呢?...
  10. python回复邮件_在Python中通过Outlook回复电子邮件
  11. linux java -xms_java.lang.OutOfMemoryError及解决方法
  12. linux read line,LINUX readline 库的使用,,
  13. jboss怎么连接Oracle数据库,如何在Jboss中配置数据源
  14. spring boot中使用ehcache
  15. J2EE架构的优点和缺点有哪些
  16. 厦门大学考研:必知20大时间节点
  17. Geos库在Windows上的编译
  18. wine: /home/cpr/.wine is not owned by you
  19. mysql5.1不支持中文,MySQL_MySQL5.1的中文支持的一个改进, MySQL 5.1的中文支持的一个改 - phpStudy...
  20. 惠州全日制计算机学校,惠州市所有中专学校一览表

热门文章

  1. git撤销分支上代码的修改
  2. pytorch查看应用指数衰减后的学习率
  3. pytorch的backward参数
  4. Halcon学习笔记:select_points_object_model_3d(3D对象模型阀值分割)
  5. 位姿估计的来龙去脉——内外参,三维重建,Pnp问题
  6. 好的PPT——准备工作
  7. Fiddler (一) 教程(Web调试工具)
  8. Spring Data JPA 从入门到精通~事务的处理及其讲解
  9. vue 前端商城框架_前端工程师要掌握几个Vue框架
  10. android主要文件的作用是什么,androidmanifest.xml文件的作用是什么