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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用程序同步mysql数据库表_初次用Java写了个数据库表同步工具

介绍java 程序编写&#xff0c;真正跨平台。传入一定的参数&#xff0c;即可在相同或不同的数据库间进行表的同步&#xff0c;包括表结构的同步及数据的同步。作业由调度工具进行调度&#xff0c;比如 moia&#xff0c;本项目旨在提供一种数据库间表同步的通用工具。目前项目 d…

公认音质好的耳机品牌_什么品牌蓝牙耳机音质比较好?2020五款HIFI音质蓝牙耳机推荐...

对于蓝牙耳机&#xff0c;绝大多数人的需求都是听音乐&#xff0c;同时也作为一个穿戴的修饰品。基于这些需求&#xff0c;在我们选择蓝牙耳机的时候&#xff0c;就会选择一些外观比较好看的时尚音乐蓝牙耳机&#xff0c;既有时尚的外观&#xff0c;又有较好的音质。那么现在有…

mysql创建表时在extra输入数据_MySQL创建数据表(CREATE TABLE语句)

在创建数据库之后&#xff0c;接下来就要在数据库中创建数据表。所谓创建数据表&#xff0c;指的是在已经创建的数据库中建立新表。创建数据表的过程是规定数据列的属性的过程&#xff0c;同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。接下来我们…

mysql not in报错_mysql从5.7升级到8.0查询报错Expression #2 of SELECT list is not in GROUP BY...

报错信息&#xff1a;Expression #2 of SELECT list is not in GROUP BY clause and containsnonaggregated column ‘sss.month_id’ which is not functionallydependent on columns in GROUP BY clause; this is incompatible withsql_modeonly_full_group_by问题出现的原因…

mysql取消操作系统_Linux下的MySQL简单操作(服务启动与关闭、启动与关闭、查看版本)...

小弟今天记录一下在Linux系统下面的MySQL的简单使用&#xff0c;如下&#xff1a;服务启动与关闭 启动与关闭 查看版本环境Linux版本&#xff1a;centeros 6.6(下面演示)&#xff0c;Ubuntu 12.04(参见文章末尾红色标注字体)MySQL版本&#xff1a;5.1.73查看MySQL服务的启动状态…

python文件下载速度 装饰器_python使用装饰器对文件进行读写操作'及遍历文件目录...

‘‘‘使用装饰器对文件进行读写操作‘‘‘#def check_permission(func):#‘‘‘演示嵌套函数定义及使用‘‘‘#def wrapper(*args,**kwargs):#‘‘‘*args:接收任意多个实参并存入元组中&#xff1b;**kwargs:接收关键字参数显示赋值并存入字典中‘‘‘#if kwargs.get(‘usern…

python日期转化成周数_[转]浅析使用python计算两个日期间隔天数﹑周数和指定若干天后对应的日期等...

>>> import datetime>>> help(datetime)http://docs.python.org/library/datetime.html查看2009年5月31日和2009年2月1日间隔多少天>>> d1datetime.date(2009,05,31)>>> d2datetime.date(2009,02,01)>>> d1-d2datetime.timedelta…

python读取csv画图datetime_python – CSV数据(Timestamp和事件)的时间表绘图:x-label常量...

(这个问题可以单独阅读,但是是续集&#xff1a;Timeseries from CSV data (Timestamp and events))我想通过使用python的熊猫模块(见下面的链接)的时间表表示,可视化CSV数据(从2个文件),如下所示.df1的样本数据&#xff1a;TIMESTAMP eventid0 2017-03-20 02:38:24 11 2017-03-…

建立通讯录python增删改查_Python编程实践之编写电话薄实现增删改查功能

初学Python编程实践&#xff0c;写一个小程序练习一下。主要功能就是增删改查的一些功能。主要用到的技术&#xff1a;字典的使用&#xff0c;pickle的使用&#xff0c;io文件操作。希望对大家学习Python编程实践有所帮助。代码如下&#xff1a;import pickle#studentinfo {ne…

python mysql connection close,Python数据库连接关闭

Using the code below leaves me with an open connection, how do I close?import pyodbcconn pyodbc.connect(DRIVERMySQL ODBC 5.1 driver;SERVERlocalhost;DATABASEspt;UIDwho;PWDtestest)csr conn.cursor()csr.close()del csr解决方案Connections have a close method …

python正向切片_使Python切片正常(正/正向+无无+无负索引+在边界内)

在Python中实现可以用标准Python语法进行切片的类(即负索引、单步执行等)时&#xff0c;有时可以将切片转换为“理智的、向前的切片”&#xff0c;以确定切片的元素。怎样才能以简洁/优雅的形式写出这样一个函数呢&#xff1f;在对于“理智的、向前的切片”&#xff0c;我指的是…

python笔记小白入门_Python 笔记:全网最详细最小白的Class类和实例详解

面向对象最重要的概念就是类(class)和实例(instance)&#xff0c;类是抽象&#xff0c;而实例(Instance)则是一个个具体的对象面向对象三大特点&#xff1a;封装、继承和多态class Animal(object):def __init__(self, name):self.name name # 初始化类变量def Dog(self): # 创…

如何安装mysql5.7.2_CentOS 7.2 安装MySQL 5.7

CentOS 7之后的版本yum的默认源中使用MariaDB替代原先MySQL&#xff0c;因此安装方式较为以往有一些改变&#xff1a;下载mysql的源wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm安装yum库yum localinstall -y mysql57-community-release-el7-7.n…

java父类调用子类方法_Java 中父类怎么调用子类的方法?

父类能调用子类的方法吗&#xff1f;答&#xff1a;能。怎么做&#xff1f;● 把子类传递到父类的有参构造中&#xff0c;然后调用。● 使用反射的方式调用&#xff0c;你使用了反射还有谁不能调用的&#xff1f;&#xff01;● 父类调用子类的静态方法。案例展示&#xff1a;p…

java entity转dto_java 使用反射在dto和entity 实体类之间进行转换

public class Utils {/*** 将dto和entity之间的属性互相转换,dto中属性一般为String等基本类型,* 但是entity中可能有复合主键等复杂类型,需要注意同名问题* param src* param target*/public static Object populate(Object src, Object target) {Method[] srcMethods src.ge…

java 字符串转dom对象_xml类型的字符串转换为Dom对象

我写这篇博客的目的是因为我在这一点转换方面耽搁了快2天时间&#xff0c;真是惭愧呀&#xff0c;dom4j.jar包有自带方法DocumentHelper.parseText(String text)用于将字符串类型的xml转换为Dom对象&#xff0c;从而进行下面的解析&#xff0c;还有一个关键是&#xff1a;产生字…

java nlpir_中科院NLPIR中文分词java版

摘要&#xff1a;为解决中文搜索的问题&#xff0c;最开始使用 版 SCWS &#xff0c;但是处理人名和地名时&#xff0c;会出现截断人名地名出现错误。开始使用 NLPIR 分词&#xff0c;在分词准确性上效果要比 SCWS 好。本文介绍如何在 系统下 JAVA &#xff0c;生成可以执行的 …

java怎编写么解析一个类型_DAY3:你必须知道的java虚拟机之类篇——类文件的结构...

马上过年啦&#xff0c;不知道大家今年有没有投资基金股票呢&#xff1f;是赚的盆满钵满还是拍断大腿&#xff0c;可以评论区一起交流交流&#xff0c;秀一秀哈哈&#xff0c;反正我是没来得及上车。暴富西不可能暴富的啦&#xff0c;打工人嘛几能写写文章啦&#xff5e;记得点…

java开发工具排名_排名前16的Java工具类

在Java中&#xff0c;工具类定义了一组公共方法&#xff0c;这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名&#xff0c;参考数据来源于Github上随机选取的5万个开源项目源码。一. org.apache.commons.io.IOUtilscloseQuietly&#xf…

java 线程 事件_Java事件调度线程解释

我最近开始学习和探索Java编程的基础知识。已经编程了一段时间&#xff0c;我只做了后端工作或工作&#xff0c;因此最接近我已经得到用户界面是命令控制台(我知道的尴尬)。我使用Swing&#xff0c;就我可以收集这意味着通过扩展我也使用AWT。我的问题是基于这段代码&#xff1…