自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

easydb.net

个人博客首发:easydb.net 微信公众号:easydb

  • 博客(32)
  • 收藏
  • 关注

原创 binlog解析技巧

MySQL binlog解析技巧

2022-07-08 13:57:21 2903

原创 mysqldump 使用规范

数据库很重要,没有备份,数据丢失只能跑路。所以还是做好备份吧!文章目录一、工具介绍二、工具特点三、备份权限四、工具使用限制五、已知BUG六、备份前注意事项6.1 需要长时间备份或导入时,请使用 screen 窗口工具6.2 检查数据库参数6.3 检查数据库角色7、使用方法举例7.1 全库备份进行mysql.proc 单表导出:进行mysql.proc 单表导入:7.2 单库备份7.3 单表备份7.4 生成单独的数据文件(-T)生成文件示例:7.5 根据条件备份(-w)八、数据导入8.1 备份导入前注意事项

2021-06-16 18:15:45 536

原创 编译安装xtrabackup 8.0

源码编译安装xtrabackup 8.0因为 xtrabackup 8.0.24 相关备份工具一直没有出来,但又看到 GitHub 上相关代码已提交,故尝试下载源码自行编译 OS:CentOS 7.9MySQL:8.0.241、环境准备为了从源代码构建 Percona XtraBackup v8.0,需要使用 cmake版本3yum install -y cmake3cmake3 --version安装其它依赖项yum install -y cmake openss

2021-05-20 19:49:28 812

原创 通过 Yum Repository 安装 MySQL

RPM 包和二进制包安装方式虽然简单,但也有一些缺陷,比如需要下载的包比较多,且包之间安装有先后依赖关系,最重要的是升级不方便。如果有新版本,则需要从新下载所有包进行替换。为了解决这些不便之处,MySQL 官方提供了一种全新的安装方式--Yum Repository。Yum(全称为Yellow dog Updater,Modified)是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前段软件包管理器。基于 RPM 包管理, 能够从制定的服务器自动下载 RPM 包并且安装,可

2021-05-19 23:57:46 327

原创 DBLE分库分表示例

DBLE 三分片的数据拆分场景1、准备后端 MySQL 节点DBLE 的架构其实很好理解,DBLE 是代理中间件,DBLE 后面是物理数据库。对于应用来说,访问的都是 DBLE,不会接触到后端的数据库。 部署架构表如下图:服务IP:Port说明DBLE10.186.65.68:8066DBLE实例,连接数据库时,连接此IP:PortMySQL A10.186.65.71:1111物理数据库实例A,真正存储数据的数据库MySQL B10.186.

2021-05-19 20:37:03 772

原创 DBLE读写分离

单纯使用读写分离功能3.20.10.0版本开始dble⽀持单纯的读写分离,可以和分库分表功能分开单独使⽤。若想启⽤dble的读写分离,仅需在 user.xml ⽂件中配置 rwSplitUser并指定对应的dbGroup即可。1、修改user.xml配置文件<dble:user xmlns:dble="http://dble.cloud/" version="4.0"> <managerUser name="man1" password="654321" maxCon=

2021-05-11 23:24:40 408

原创 DBLE快速开始

dble 简介与整体架构dble简介dble是上海爱可⽣信息技术股份有限公司基于mysql的⾼可扩展性的分布式中间件,存在以下⼏个优势特性:数据⽔平拆分 随着业务的发展,您可以使⽤dble来替换原始的单个MySQL实例。兼容Mysql 与MySQL协议兼容,在⼤多数情况下,您可以⽤它替换MySQL来为你的应⽤程序提供新的存储,⽽⽆需更改任何代码。⾼可⽤性 dble服务器可以⽤作集群,业务不会受到单节点故障的影响。SQL⽀持 ⽀持SQL 92标准和MySQL⽅⾔。我们⽀持复杂的SQL查询,如gr

2021-05-11 01:07:39 452

原创 RPM包直接安装MySQL

文章目录1.下载RPM包2.解压**tar**文件3.处理原始环境4.安装MySQL相关包仅安装客户端程序5.使用RPM软件包标准安装的MySQL的目录结构6.启动MySQL7.连接MySQL用临时密码登录临时密码无法正常操作数据库修改临时密码修改的密码强度规则因为有悔,所以披星戴月;因为有梦,所以奋不顾身! 个人博客首发:`easydb.net` 微信公众号:`easydb` 关注我,不走丢!MySQL的RPM包包括很多套件,老一点版本一般直接安装Server和Client就可以。较新的版本由于包之间存

2021-05-10 00:04:39 275

原创 初试DTLE-单向-聚合-分散复制

环境准备主机名IP地址部署服务study0110.186.65.68DTLE、MySQLstudy0210.186.65.71DTLE、MySQLstudy0310.186.65.72DTLE、MySQLPs:如果不适用容器进行部署,首先安装三台或以上MySQL实例,并开启binlog以及GTIDDTLE概述dtle (Data-Transformation-le) 是上海爱可⽣信息技术股份有限公司 开发并开源的 CDC ⼯具. 其功能特点是:

2021-05-07 20:44:29 686

原创 使用 TiUP cluster 在单机上安装TiDB

TiUP 是 TiDB 4.0 版本引入的集群运维工具,TiUP cluster 是 TiUP 提供的使用 Golang 编写的集群管理组件,通过 TiUP cluster 组件就可以进行日常的运维工作,包括部署、启动、关闭、销毁、弹性扩缩容、升级 TiDB 集群,以及管理 TiDB 集群参数。最小规模的 TiDB 集群拓扑:实例个数IP配置TiKV310.186.65.41避免端口和目录冲突TiDB110.186.65.41默认端口,全局目录配置PD1

2021-05-02 16:50:13 369

原创 如何升级到MySQL8.0

为什么要升级到MySQL8.0基于安全考虑基于性能和稳定性考虑新的功能原始环境中版本太多,统一版本升级检查需要做什么数据字典升级schema:mysql、 information_schema、 performance_schema、 sys关键词是不是兼容https://dev.mysql.com/doc/refman/8.0/en/keywords.htmlSQL是不是兼容Group by 处理上的不兼容数据文件存储格式是不是可以直接升级担心有未知

2021-05-02 16:28:46 268

原创 MySQL主从架构小版本升级

文章目录从库一、新版本mysql环境准备1.解压mysql 5.7.312. 替换软链接3.修改目录权限二、停从库流量和实例并备份数据1.检查表是否损坏2.检查从库主从是否正常及有无延迟3.停从库流量及io_thread4.数据全部落盘5.停从库4.备份从库三、启动新版本MySQL1.检查my.cnf配置文件2.检查启动脚本basedir指向是否正确3.启动msyql5.7.31四、运行 mysql_upgrade 升级数据字典1.运行 mysql_upgrade2.重启MySQL 5.7.31实例五、升级

2021-04-18 11:03:15 620 1

原创 MongoDB单节点转换成复制集

背景之前图省事,开发环境几台mongodb都是单机在运行,考虑到宕机等不确定的风险,给他们做一下高可用。mongodb原生的复制集方案非常简单好用。操作步骤MongoDB版本: 3.6.21实验环境中,3个mongodb实例运行在同一个虚拟机上。另外,从节约资源考虑,我们最终搭建完的结构是: 1主、1备、1仲裁节点实验环境当前正在运行的单机节点:10.0.3.115:27018准备添加secondary节点:10.0.3.115:27019准备添加arbiter节点:10.0.3.115

2021-01-18 21:12:18 358 1

原创 MongoDB备份(mongodump)与恢复(mongorestore)工具实践

mongodump和mongorestore实践1.mongodump备份工具mongodump能够在Mongodb运行时进行备份,它的工作原理是对运行的Mongodb做查询,然后将所有查到的文档写入磁盘。mongodump的参数与mongoexport的参数基本一致1.1 mongodump关键参数如下所示:mongodump --help查看帮助命令-h,–host :代表远程连接的数据库地址,默认连接本地Mongo数据库;–port:代表远程连接的数据库的端口,默认连接的远程端口2

2021-01-16 18:10:59 2354

原创 MongoDB备份(mongoexport)与恢复(mongoimport)

1.备份恢复工具介绍:mongoexport/mongoimportmongodump/mongorestore(本文未涉及)2.备份工具区别在哪里?2.1mongoexport/mongoimport 导入/导出的是JSON格式或者CSV格式mongodump/mongorestore 导入/导出的是BSON格式2.2JSON可读性强但体积较大,BSON则是二进制文件,体积小但对人类几乎没有可读性。2.3在一些mongodb版本之间,BSON格式可能

2021-01-11 21:36:03 683

原创 MongoDB副本集replica set部署

Replication Set概述MongoDB中的副本集是一组维护相同数据集合的 mongod进程,副本集提供了冗余和高可用性。通过维护冗余的数据副本,能够实现数据的备份,读写分离和自动故障转移。1.环境准备三个以上的mongodb节点(或多实例)1.1 多实例环境准备以mongodb3.6.21为例1.2 多个端口:28017、28018、28019、280201.3 多套目录:mkdir -p /data/mongodb/{28017,28018,28019,28020}/

2021-01-08 20:41:30 226

原创 MongoDB常用操作

1.MongoDB 概念解析Mongodb 逻辑结构 MySQL逻辑结构库(database) 库集合(collection) 表文档(document) 数据行2.MongoDB基本命令2.1 默认存在的库通过 shell 连接 MongoDB 服务:[root@mongodb ~]# mongoMongoDB shell version v3.6.21connec

2020-12-28 19:53:19 183

原创 Linux下安装MongoDB

安装MongoDB社区版1.下载编译好的通用软件包MongoDB的下载中心:https://www.mongodb.com/try/download/community2.安装所需的依赖sudo yum install -y libcurl openssl xz-libs3.关闭大页内存机制(THP)3.1 为什么要关闭?透明大页面(THP)是一种Linux内存管理系统,它通过使用较大的内存页面来减少具有大量内存的计算机上的转换后备缓冲区(TLB)查找的开销。但是,启用THP时,数据库工

2020-12-25 20:50:20 211

原创 MySQL如何优雅的删除大表

前言删除表,大家下意识想到的命令可能是直接使用DROP TABLE "表名",这是初生牛犊的做法,因为当要删除的表达空间到几十G,甚至是几百G的表时候。这样一条命令下去,MySQL可能就直接夯住了,外在表现就是QPS急速下降,客户请求变慢。解决办法1.业务低峰时间手动执行删除这个可能就需要DBA不辞辛劳,大晚上爬起来删表了。2.先清除数据,最后再删除的方式譬如1000万条数据,写脚本每次删除20万,睡眠一段时间,继续执行。这样也能做到对用户无感知。3.对表文件(idb文件)做一个硬链接来加速删

2020-12-24 19:20:31 853 1

原创 Prometheus+Grafana监控MySQL

Prometheus+Grafana监控MySQLPrometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。被很多人称为下一代监控系统。Grafana是一个开源的图表可视化系统,简单说图表配置比较方便、生成的图表比较漂亮,并能实现报警。支持五十多种数据源,Prometheus就是其中支持的一种。下面就介绍了利用Prometheus与Graf

2020-12-17 20:47:54 1046

原创 Shell脚本监控MySQL主从状态

分享一个Linux下,监控MySQL主从状态及配合企业微信机器人报警的Shell脚本SLAVE_IP:为监控的主机IPUSER:为msyql用户PASSWORD:为mysql密码WHEREIS_MYSQL:为mysql命令路径WEBHOOK:为企业微信机器人Webhook地址wx():为企业微信机器人函数Check_Mysql_Slave():为监控脚本主函数#! /bin/bash#source /etc/profileexport PATH="/usr/local/sbin:/us

2020-12-14 19:38:59 242

原创 MySQL数据库命令行界面不支持中文

前两天部署一个测试环境,下载最新版本的mysql 5.7.31通用二进制包来安装。但是遇到mysql命令行界面输入不了中文的烦恼,比如,粘贴一个建表语句上去,注释字段中文全部变成了空白!!!如果你的字符集,系统语言,shell工具都没找到问题。可以尝试从另外一台支持中文的mysql主机远程连接看下能不能支持中文。如果远程可以,就将客户端文件替换掉当前不支持中文客户端文件。比如:我是将另外一台mysql 5.7.29版本bin目录下mysql文件拷贝过来就解决了。~/mysql/bin/mysql

2020-10-31 10:54:08 956

原创 mysqldump使用方法(MySQL数据库的备份与恢复)

mysqldumpmysqldump是用于转储MySQL数据库的实用程序,通常我们用来迁移和备份数据库。主要导出生成一个SQL脚本,如果不带参数地导出,导出文本内容大概如下:创建数据库判断语句-删除表-创建表-锁表-禁用索引-插入数据-启用索引-解锁表快速使用# school 是数据库名# 导出所有数据库mysqldump -uroot -p --host=127.0.0.1 --port=3306 --all-databases >/tmp/full.sql# 完整导出指定的数据

2020-10-29 20:30:55 171

原创 MySQL性能测试初试(1)--sysbench

1.间接和安装SysBench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。它主要包括以下几种方式的测试:cpu性能磁盘io性能调度程序性能内存分配及传输速度POSIX线程性能数据库性能(OLTP基准测试)源码下载:https://github.com/akopytov/sysbench/releases/tag/1.0.20rpm包下载:https://packagecloud.io/akopytov/sysbench/package

2020-10-17 19:41:52 293

原创 MySQL中间件之ProxySQL(3):初试读写分离

实现一个简单的读写分离这里通过一个简单的示例实现ProxySQL的读写分离功能,算是ProxySQL的快速入门。即使是快速入门,需要配置的内容也很多,包括:后端MySQL配置、监控配置、发送SQL语句的用户、SQL语句的路由规则。所以,想要实现一个ProxySQL+MySQL,即使只实现最基本的功能,步骤也是挺多的,不过配置的逻辑都很简单。实验环境:OS:centos7.8ProxySQL:2.0.14MySQL:8.0.20角色主机IP端口server_idProxyS

2020-10-14 19:25:14 243

原创 MySQL中间件之ProxySQL(2):Admin管理接口

一、ProxySQL的Admin管理接口当Proxysql启动后,将监听两个端口:admin管理接口,默认端口为6032。该端口用于查看、配置ProxySQL。接收SQL语句的接口,默认端口为6033,这个接口类似于MySQL的3306端口。ProxySQL的admin管理接口是一个使用MySQL协议的接口,所以,可以直接使用mysql客户端、navicat等工具去连接这个管理接口。通过管理界面配置ProxySQL例如:使用mysql客户端,并使用以下admin凭据在本地端口(6032)上

2020-10-13 21:00:24 312

原创 ProxySQL:简介和安装(1)

1.ProxySQL简介ProxySQL 是一款可以实际用于生产环境的 MySQL 中间件,它有官方版和 percona 版两种。percona版是在官方版的基础上修改的,添加了几个比较实用的工具。本文以官方版本为例。ProxySQL是用C++语言开发的,虽然也是一个轻量级产品,但性能很好(据测试,能处理千亿级的数据),功能也足够,能满足中间件所需的绝大多数功能,包括:最基本的读/写分离,且方式有多种。可定制基于用户、基于schema、基于语句的规则对SQL语句进行路由。换句话说,规则很灵活。基于

2020-10-12 21:20:11 506

原创 单独安装mysql客户端

当我们用docker起的mysql服务或在MySQL中间件服务器上,可能并没有安装mysql客户端。但又需要连接到mysql或者中间件,那么如何单独安装mysql客户端呢?以安装MariaDB-client为例1.1 使用源配置向导配置向导: https://downloads.mariadb.org/mariadb/repositories可以选择合适的操作系统和想要安装的MariaDB-client版本的源,然后自动生成源配置。1.2 生成Mariadb.repovim /etc/yum.r

2020-10-11 18:34:40 764

原创 dbdeployer MySQL沙盒部署详解

一、工具介绍前几日用mysql-sandbox来搭建MySQL8.0新版本时发现用不了,提示需要使用dbdeployer才行,瞬间觉得mysql-sandbox不香了,只好咬咬牙来熟悉dbdeployer了。dbdeployer是使用go语言重构的sandbox,和sandbox同一个作者。当然,dbdeployer延续了sandbox所有功能。可实现一键部署不同架构、不同版本的数据库环境。如,MySQL 主从复制、GTID 模式复制、MySQL 组复制(单主模式、多主模式等)完整的数据库类型支持

2020-09-27 21:09:17 350

原创 如何修改MySQL数据库名称

比如数据库名称old_db想改名为new_dbMySQL修改数据库名称比较麻烦,不支持直接修改,需要通过其它方式间接达到修改数据库名称的目的。在 MySQL 5.1.23 之前的旧版本中,我们可以使用 RENAME DATABASE 来重命名数据库,但此后版本,因为安全考虑,删掉了这一条命令。方法一:先导出数据,再导入数据当数据库体积比较小时,最快的方法是使用mysqldump命令来创建整个数据库的转存副本,然后新建数据库,再把副本导入到新数据库中。1.1 先创建新库:create data

2020-09-26 00:51:56 12529

原创 MySQL-Atlas--读写分离架构

一、Atlas简介Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。同时,有超过50家公司在生产环境中部署了Atlas,超过800人已加入了我们的开发者交流群,并且这些数字还在不断增加。mysql-proxy是一个轻量

2020-09-23 21:46:15 112

原创 MySQL5.7用户创建及权限管理

MySQL5.7用户权限管理一 用户、权限管理1.1 用户1.2 用户管理操作1.3 权限管理操作1.4 查看权限1.5 回收权限1.6 提示1.6.1 和用户相关操作,执行完后都需要刷新权限1.6.2 **mysql8.0在grant命令添加特性:**一 用户、权限管理1.1 用户作用: 登录,管理数据库逻辑对象定义: 用户名@‘主机值’主机值可以是主机名或IP地址,主机值中允许使用通配符root@'10.0.0.%' root@'%'root@'10.0.0.51'root@'l

2020-09-21 18:01:07 649

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除