- 博客(75)
- 收藏
- 关注
原创 windows平台如何调试mysql源码?
windows平台如何调试mysql源码?前期准备1、安装Visual Studio Community 20172、安装cmake3、安装bison,需手动添加到环境变量4、mysql源码5.7.235、boost_1_59_0.tar.gz具体操作:1、解压5.7.23源码,并在源码目录新建bld和boost目录,将boost_1_59_0.tar.gz复制到boost目录2、编译cmake … -DDOWNLOAD_BOOST=1 -DWITH_BOOST=“D:\mysqlsc\
2021-03-03 19:29:40 734 1
原创 单条insert会导致什么?
HI ALL~闲来无事,分享一条insert的坑,希望研发同学引以为戒。故事还要从五天前说起…一个平和宁静,风和日丽的中午,我还在午睡,突然被线上急促告警邮件声惊醒,打开相关电脑一看,主库活跃连接数过多,主库反应卡顿,从库io线程中断,过了几秒钟,自己恢复了。一切的现象都和AWS磁盘抖动有关,通过阿里的orz监控发现,这次磁盘抖动的现象和以往不一样啊,磁盘的吞吐很高,iops很低,await很高,第一次告警也没在意,觉得就是AWS的硬件问题,因为AWS的磁盘真的真的经常抖…但是,事情远远没有想象的那么
2020-12-20 20:20:27 340
原创 宕机引发的mysql复制中断
分享一个宕机引发的mysql复制线程中断铃铃~喂? 郭** AWS机器底层故障导致数据库服务器重启,你起来帮忙启动一下服务。这已经是深夜的第二个告警电话了,困得一比,不过还好,这次就简单的起下服务,应该马上就好了,于是我迅速打开电脑,连上VPN,就在此时开始了我的不眠夜。找到出重启机器,mysqld_safe 启动服务 ,查看复制线程,咦?怎么SQL线程出错了,错误相关信息如下:Worker 1 failed executing transaction ‘f878dbe4-db73-11ea-be
2020-11-07 17:41:57 392
原创 关于mysql的企业级备份工具
下方图片来自网络侵权删mydumper是一个高性能多线程备份和恢复工具下载安装这里不做说明mydumper备份相关参数:myloader 数据恢复参数:示例: mydumper -u root -p123 -S /tmp/mysql.sock -P 3306 -c -B test -o /tmp/backup...
2020-06-08 17:01:42 508
原创 数据库备份的几种方式的详细步骤
*数据库备份的几种方式的详细步骤如何冷备??1.保证2台机器上软件版本一致,最好安装版本也一致A:原机 B:恢复机对于原机:2.将mysql数据库关闭service mysqld stop3.scp 拷贝到要进行恢复的机器上scp -r /usr/local/mysql/data/ root@172.16.11.33:/usr/local/mysql/data/数据库备份的几种方...
2019-07-10 21:30:26 19765
原创 MySQL的备份恢复
mysql的备份恢复知识要点1.备份方式2.mysqldump3.如何进行备份恢复4.xtrabackup5.物理备份原理6.如何进行物理备份备份的目的做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用备份需要考虑的问题可以容忍丢失多长时间的数据;与数据量有关系恢复数据要在多长时间内完;恢复的时候是否需要...
2019-07-10 21:20:32 438
原创 MySQL备份恢复之增量备份恢复演练
增量的恢复演练增量需要指定在谁的基础上增量(1)可以指定在全备的基础上进行增量(2)也可以在增量的基础上进行增量全备+apply log(redo only)+增量备份演练:1.进行全备,一般不指定时间戳2.备份完成后,接着应用日志,因为后边会有增量,所以这个地方需要加redo only查看当前状态log-applied表示apply log+redo only;如果是prepared...
2019-07-10 21:16:11 458
原创 MySQL备份恢复之回顾总结
备份恢复总结回顾备份1.备份对生产的影响(1)IO(2)网络(3)锁为了减少这种影响,我们将备份卸载到从库2.备份分为冷备和热备,对于互联网企业不接受冷备3.热备又分为逻辑备份和物理备份(1)逻辑备份备份数据行(1)SQL语句:执行脚本(2)数据行 :load data,恢复速度快(2)物理备份备份数据页xtrabackup4.恢复原理备份+binlog对于b...
2019-07-10 21:07:12 201
原创 MySQL备份恢复之 xtrabackup增量备份
mysql xtrabackup增量备份增量备份:只有在还原和binlog接壤的地方,才会进行回滚,其他所有地方都不进行回滚1.增量的含义是自上次备份以来发生改变的数据页2.增量备份并没有降低物理IO,也是全扫描3.增量备份不是很适合 OLTP 交易系统4.增量备份适合数据仓库–incremental-basedir=name //指定全备位置(也可能是增量备份)This opt...
2019-07-10 21:04:52 601
原创 MySQL备份恢复之xtrabackup物理备份
mysql中的xtrabackup物理备份物理备份1.物理备份+binlog的形式恢复2.对于myisam表来说:物理备份也是锁表3.对于innodb表来说:物理备份不锁表,所以就会导致备份出来的数据页都是不一致的,根本用不了。为了解决这个问题,mysql会做几件事(1)使用备份期间生成的 redolog 的备份,可以将备份的数据页恢复成备份结束的时刻。(2)使用备份结束以后对应的 ...
2019-07-10 21:02:10 398
原创 MySQL备份恢复之innobackupex选项解读
innbackupex的选项解读[root@fuxi1 ~]# innobackupex --helpinnobackupex [–compress](是否压缩) [–compress-threads=NUMBER-OF-THREADS](用几个线程去压缩) [–compress-chunk-size=CHUNK-SIZE][–encrypt=ENCRYPTION-ALGORITHM](是...
2019-07-10 20:59:57 511 2
原创 MySQL备份恢复之mysqldump恢复
mysqldump恢复mysqldump恢复恢复备份+binlog示例:1.做好了对于test库的备份2.做好备份以后,又做了几个操作(1)往test库的t1表插入了几行数据(2)将t1表误删除(3)新建表,插入数据3.当前的场景是数据库大约在九点做了一个备份,有一个表t1大约在上午11点被误删除,然后新建的一个表ceshi,并且有数据插入,要求将t1表找回来,况且ceshi表不能丢失...
2019-07-10 20:58:58 794 1
原创 MySQL备份恢复之mysqldump备份_tab模式
mysqldump备份_tab模式mysqldump以行数据的方式进行备份,使用-T,每个表生成两个文件,一个.sql文件,一个.txt文件–fields-terminated-by=’,!#’列与列之间的分割符:指定列分隔符为,!#,最好复杂一下,区分列数据。-T:使用-T ,每一个表生成两个文件,一个 SQL 文件,一个 TXT 文件。可以备份成一个文件,可以是点 SQL 结尾,也...
2019-07-10 20:55:38 1043
原创 MySQL备份恢复之mysqldump备份_SQL语句模式
mysqldump备份_SQL语句模式mysql备份类型1.分为冷备和热备冷备就是在数据库shutdown以后进行备份热备就是在数据库open进行备份2.又可以分为物理备份和逻辑备份(1)物理备份:将数据页拷贝出来(2)逻辑备份:将数据行拷贝出来备份产生的问题1.备份对IO的影响(特别是物理备份对IO影响很大)2.备份占用网络资源3.备份会产生锁的问题总之,备份对生产的...
2019-07-10 20:54:44 883
原创 MySQL备份恢复中关于mysqldump的相关选项解读
mysqldump的相关选项解读-A, --all-databases Dump all the databases. This will be same as --databaseswith all databases selected. ##备份所有的数据库-Y, --all-tablespacesDump all the tablespaces.-y, --no-table...
2019-07-10 20:53:37 386
原创 tpcc压测MySQL数据库
tpcc压测MySQL数据库tpcc压测MySQL数据库实例步骤1.上传 tpcc-mysql.tar.gz包2.安装依赖包yum install gcc-c++ gcc -y3.解压安装包tar xf tpcc-mysql.tar.gz4.进入指定目录编译cd tpcc-mysql/src/make5.进入上一层目录查看是否生成tpcc_load和tpcc_start两个文件...
2019-07-10 20:51:06 409
原创 zabbix自定义监控项
zabbix自定义监控项linux下需要关注的信息:IncludeIO层面:1、物理读 次数(r/s) 吞吐量(rKb/s)2、物理写 次数(w/s) 吞吐量(wKb/s)3、读写响应时间:r_await w_await4、服务时间 :svctm5、繁忙度:%utilrrqm/s wrqm/sCPU层面:1、cpu的数量 iostat -x 1 1 | ...
2019-07-10 20:48:34 448
原创 zabbix配置-使用-监控-告警
知识要点1.创建监控项2.创建触发器3.创建告警媒介4.创建动作5.自定义监控项以及其他功能展现创建监控项(以CPU负载为例)cpu负载:system.cpu.load[all,avg1] 记录了CPU每一分钟的负载情况点击配置,点击主机,选择agent端监控项,右上角选择创建监控项,配置如下创建触发器创建触发器当CPU负载超过60%触发点击配置,点击主机,选择agen...
2019-07-10 20:42:38 632
原创 zabbix安装
zabbix安装途径官网下载地址:https://www.zabbix.com/download?zabbix=3.4&os_distribution=rhel&os_version=6&db=MySQLhttps://www.zabbix.com/download_sources四种途径:rpm源码容器下载虚拟应用安装要求Zabbix同时需要物理内...
2019-07-10 20:37:55 577
原创 zabbix介绍
zabbix介绍1.zabbix是什么Zabbix 是一个企业级的分布式开源监控方案。Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。Zabbix支持...
2019-07-10 20:33:47 386
原创 MySQL的event
event在linux中我们可以使用at或者crontab实现计划任务和周期性任务,那么在mysql中如何实现呢?在mysql中使用event对象可以实现以下两种需求(1)在12点钟,执行一个begin and(2)从12点开始,每隔一个小时,执行一个begin and1.event对象调度分为两种:一种是执行一次的,一种是周期性的对于周期性的调度,我们可以指定周期的开始,周期的结束...
2019-06-30 21:46:33 617
原创 MySQL触发器的使用
触发器1.通过示例了解触发器示例1:CREATE TABLE account (acct_num INT, amount DECIMAL(10,2));DELIMITER KaTeX parse error: Expected 'EOF', got '#' at position 52: …T ON account #̲#建立触发器ins_sum,O…DELIMITER ;mysq...
2019-06-30 21:45:38 129
原创 MySQL存储过程的编写
存储过程知识要点存储过程的创建和调用存储过程的参数存储过程体局部变量流程控制语句使用select into查询数据DECLARE … HANDLER语句DECLARE … CONDITION语句游标过程和数据字典存储过程的特征存储过程的安全存储过程的创建和调用1.定义:存储过程就是具有名字的一段代码,完成一个特定的功能。存储过程保存在数据字典中2.语法:CRE...
2019-06-30 21:44:20 1061
原创 MySQL修改,删除表以及风险分析
修改和删除表以及风险分析知识要点DROP TABLE语句(删除表)ALTER TABLE语句(修改表)删除表DROP TABLE语句DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] … [RESTRICT | CASCADE]TEMPORARY:用于删除临时表。删除临时表不会结束当前的事务。...
2019-06-30 21:41:55 670 2
原创 MySQL创建使用视图
创建使用视图知识要点创建视图使用WITH CHECK OPTION约束定义视图时的其它选项视图查询语句的处理创建视图1.语法:CREATE [OR REPLACE] VIEW view_name [(column_list)]AS select语句 ##可以相当复杂[WITH [CASCADED | LOCAL] CHECK OPTION]OR REPLAC...
2019-06-30 21:39:40 796 1
原创 MySQL使用ENUM和SET类型
使用ENUM和SET类型概述定义数据库列时,可以使用ENUM(enumeration,枚举)和SET(集合)类型。通过它们,可以变通的实现CHECK约束它们两者的区别是:使用ENUM,只能选一个值;使用SET,可以选多个值ENUM和SET中的值都必须是字符串类型enum枚举枚举只能是字符串列,后边没有数据类型示例:create table t5 (id int,name var...
2019-06-30 21:37:18 349
原创 MySQL使用DDL语句创建表
使用DDL语句创建表知识要点CREATE TABLE语句列的数据类型添加数据类型选项根据已有的表来创建新表列选项表选项约束对表名和列名使用反引号CREATE TABLE语句对于一个表有列和行,对于列有标题和数据类型语法:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] [database_name.] <table_na...
2019-06-30 21:35:57 3420
原创 MySQL中DML语句和事务的概念
ML语句知识要点DML语句插入行到表中删除表中的行更新表中的行控制事务DML语句DML:DATA MANIPULATION LANGUAGE(数据操纵语言),由INSERT、UPDATE、DELETE等语句构成,用来修改表中的数据INSERT语句1.带VALUES子句的INSERT语句INSERT [INTO] tbl_name[(col_name,…)]{VA...
2019-06-30 21:30:50 1180
原创 MySQL字符集
mysql字符集基础知识1.什么叫字符集?常用的字符集的分类?字符集就是字符和编码的集合,常用的中文字符集是gbk,英文字符集是ASCII多种字符在一个字符集里,常用的UTF82.数据库存取数据与字符集的关系数据库在存取数据时,会在字符集中寻找各个字符对应的编码,然后存取编码3.操作系统查看字符集的种类windows 使用chcp命令查看,查看到是936,说明是中文字符集linu...
2019-06-30 21:27:10 4370 1
原创 MySQL的集合操作
集合操作集合操作定义1.进行合并的两个查询,其SELECT列表必须在数量和对应列的数据类型上保持一致默认会去掉两个查询结果集中的重复行默认结果集不排序最终结果集的列名来自于第一个查询的SELECT列表UNION = UNION DISTINCT2.集合操作特点(1)需要多个查询(2)查询的结果集需要加起来,往往是或者这个关键词示例:SELECT playerno ...
2019-06-26 18:11:58 905
原创 MySQL中的子查询用法
子查询导入知识1.select字句的构成select …from …where …group byhaving …order by子查询1.子查询是什么?查询里面嵌套查询,也就是select里面还有selectselect …(select)from …(select)where …(select)group byhaving …(select)order b...
2019-06-26 18:11:05 3686
原创 MySQL中的多表连接查询
多表连接查询导论表连接的本质尽量减少数据冗余。例如创建学生表,老师表,课程表,选课表比只创建一个表更能减少数据冗余。这四张表可以通过主外键和引用的方式相互连接数据库连接的本质:只有一种连接,叫做引用的关系数据库的连接类型连接(join):将一张表中的行按照某个条件(连接条件)和另一张表中的行连接起来形成一个新行的过程叫做连接根据查询返回的结果,连接可以分为3大类:内连接(inne...
2019-06-26 18:08:34 415
原创 MySQL类型转换和select相关函数
类型转换1.类型转换分为隐式转换和显式转换示例: select 1=‘1’; 在这种情况就会发生类型转换,数字等于字符串,数据库在内部发生隐式转换2.类型转换大部分发生在两种情况下1)在select的where条件里面,一般是列与常量进行比较时,两者的数据类型不一样会发生类型转换。例如:字符串=数字 就会发生类型转换2)在insert into 语句中,也容易发生数据类型的不一致而导致...
2019-06-26 18:04:59 1956
原创 MySQL基本select查询及数据类型
基本select查询知识要点设置系统变量@@sql_mode基本SELECT语句在SELECT语句中的算术表达式和null值列别名使用串联操作符和distinct关键字desc命令增删改查对数据库常规的四个操作插入:insert删除:delete修改:updata查询:selectselect查询简介查询对象有四个1.全表查询select * from PL...
2019-06-25 17:14:19 9400 1
原创 MySQLselect字句和常规比较运算符
1.select * from PLAYERS where HOUSENO <=60; ##<=就是比较运算符,该命令行的意思查询PLATERS表中HOUSENO列的值小于等于60 的数据2.通过使用帮助查看MySQL里有哪些比较运算符mysql> help contentsmysql> help Functionsmysql> help Comparis...
2019-06-20 22:34:57 1792
原创 MySQL用户权限管理
MySQL用户权限管理知识要点了解mysql的默认用户权限的分类用户的创建给用户授权废除用户权限MySQL的认证方式用户名 密码 登录地址root@localhost(登录主机的地址—客户端) 密码客户端:要通过什么用户通过什么密码登录服务器用户名 密码 要登录的服务器的ip地址 服务器提供的mysql服务的端口号服务端:验证客户端的登录信息是否在我的用户表里认证...
2019-06-20 22:20:36 8407
原创 MySQL使用帮助及基本概念
MySQL使用帮助及基本概念系统数据库MySQL系统数据库(不同版本不一样)information_schema (记录CHARACTER_SETS,触发器,表,视图等信息)mysql (记录user等信息)performance_schema (threads)(记录变量等信息)sys(innodb_buffer_stats_by_schema)(记录会话等信息)系统表对所...
2019-06-20 22:17:19 146
原创 安装MySQL的单机多实例
单机多实例目的是:熟悉mysql安装,安装完成后文件、属性、排错流程单软件-rpm-多实例mkdir /var/lib/mysql2 #现将软件存放目录创建好1、配置文件单独设置datadirport #两台mysql指定不同的端口socketpid文件位置err错误日志2、初始化数据库#mysqld --initialize --datadir=/var/lib/...
2019-06-20 22:15:00 173
原创 Linux环境下安装MySQL数据库
Linux环境下安装MySQL准备linux 基本环境redhat 6.5 2台 或者1台多实例关闭iptables(永久关闭防火墙:chkconfig iptables off)和selinux(/etc/selinux/config)配置好本地yum源官网下载最新软件官网下载最新地址:https://www.mysql.com/downloads/软件包类型1.rpm2....
2019-06-20 22:12:12 243
原创 shell脚本解决自动交互的方法
自动交互的方法1.查看命令,看看有没有选项用来实现自动交互的。[root@dbserver02 ~]# echo “123” | passwd --stdin a1Changing password for user a1.passwd: all authentication tokens updated successfully.2.输入重定向Passwd u1 < /tmp/...
2019-06-20 21:54:38 4069
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人