
数据库
文章平均质量分 66
寰宇001
来自火星的地球人。
展开
-
MySQL之 XtraBackup 备份
MySQL 系列连载之 XtraBackup 备份原理(1)导读在日常的linux运维工作中,大数据量备份与还原,始终是个难点。关于mysql的备份和恢复,比较传统的是用mysqldump工具,今天本文推荐另一个备份工具innobackupex。Xtrabackup简介innobackupex和mysqldump都可以对mysql进行热备份的,mysqldump对mysql的innodb的备份可以使用single-transaction参数来开启一个事务,利用innodb的mvcc来不进行锁表进行热转载 2020-10-16 11:05:39 · 13875 阅读 · 2 评论 -
Mysql访问中间件--Atlas初探
Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性,目前该项目在360公司内部得到了广泛应用。Atlas主要有以下功能1.读写分离2.从库负载均衡3.IP过滤4.自动分表(目前只支持在同一个库中进行分表)5.DBA可平滑上下线DB6.自动摘除宕机的DBAtlas相对于官方MySQL-Proxy有以下优势1.将主转载 2021-08-25 17:05:29 · 388 阅读 · 0 评论 -
Mysql8.0秒级加字段
Mysql 8.0版本合并了腾讯互娱数据库团队的Patch,可以实现秒级添加字段,这个功能可谓是mysql数据库攻城狮的福音,解决了之前5.6,5.7版本添加字段很高的运维成本。下面是验证mysql8.0版本秒级添加字段的过程首先用sysbench模拟一张12G左右的大表出来,数据量在5000Wnohup sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-host=10.10.57.205 --mysql-p转载 2021-08-25 17:01:51 · 769 阅读 · 0 评论 -
MySQL常见报错
1、#更改root密码 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';参考链接 :转载 2021-08-25 14:48:39 · 3267 阅读 · 0 评论 -
Centos7下yum安装MySQL 5.7
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。1 下载并安装MySQL官方的 Yum Repositorywget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm使用上面的命令就直接下载了安装用的Yum Repository,,然后就可以直接yum安装了。yum -y install mys转载 2021-08-24 10:50:25 · 1027 阅读 · 0 评论 -
恢复Redis中主、从库宕机
1、什么是哨兵哨兵是对Redis的系统的运行情况的监控,它是一个独立进程,功能有二个:监控主数据库和从数据库是否运行正常;主数据出现故障后自动将从数据库转化为主数据库;2、原理单个哨兵的架构:多个哨兵的架构:多个哨兵,不仅同时监控主从数据库,而且哨兵之间互为监控。多个哨兵,防止哨兵单点故障。3、环境当前处于一主多从的环境中:4、设置哨兵启动哨兵进程首先需要创建哨兵配置文件:vim sentinel.conf输入内容:sentinel monitor taotaoMa转载 2021-07-27 10:02:32 · 201 阅读 · 0 评论 -
Oracle 数据库升级
转载来源 :Oracle 数据库升级https://mp.weixin.qq.com/s/LIDIsmeZRRfZmOVtOkeznQ一、环境准备本次测试尽量按照生产环境升级进行模拟,故而使用2台主机进行测试:注意:源库为生产环境 linux 6系统,目标库为升级环境,由于 19C 无法安装在 linux 6系统,故而选择异机升级,保留生产环境用于失败回退。根据 MOS 文档 2485457.1 可以获取最新版 AutoUpgrade 工具下载地址:The most recent ver转载 2021-06-09 10:59:42 · 1152 阅读 · 0 评论 -
CentOS7下安装 mysql5.7.25(glibc版)(可用)
一、安装前的检查1. 检查 linux 系统版本 [root@localhost ~]# cat /etc/system-release2. 检查是否安装了 mysql (mysql 有三种安装方式:二进制包安装、RPM包安装、源码装)3. 系统内存检查检查一下 linux 系统的虚拟内存大小,如果内存不足 1G,启动 mysql 的时候可能会产生下面这个错误提示:Starting mysqld (via systemctl): Job for mysqld.service failed be原创 2021-05-17 18:00:13 · 761 阅读 · 0 评论 -
Redis规范
Redis开发规范1. 标准化key的格式便于查看、统计、排错。具体的命名规则可以根据实际情况定义,key名可以使用“系统名:表名:查询字段名:查询字段值:所需要的列名”,如“cif:user:userid:999:username”。2. 存储的key一定要设置过期时间目前,我们将redis定位成缓存数据库,存放的key必须设有超时时间。因为若不设置,这些Key会一直占用内存不释放,造成极大的浪费,而且随着时间的推移会导致内存占用越来越大,直到达到服务器内存上限。另外Key的超时长转载 2021-04-23 10:37:57 · 374 阅读 · 0 评论 -
如何计算MySQL数据库占用内存
简介估计有很多开发,或者刚刚接触MySQL数据库的运维人员,不太清楚,如何去计算MySQL数据库占用内存总大小。估计有时候,还会奇怪,明明设置的buffer pool size不大,数据库却因为操作系统内存不足,导致MySQL数据库进程被系统自动kill掉了。下面就来给你一一揭晓答案MySQL数据占用内存MySQL数据库占用操作系统内存,主要分为两部分第一部分为:innodb存储引擎占用的buffer pool size,一部分为myism存储引擎占用的内存大小第二部分为:MySQL数据库应转载 2021-04-22 13:38:05 · 1098 阅读 · 0 评论 -
mysql中查询缓存优化以及慢查询
1. 概述开启Mysql的查询缓存,当执行完全相同的SQL语句的时候,服务器就会直接从缓存中读取结果,当数据被修改,之前的缓存会失效,修改比较频繁的表不适合做查询缓存2. 操作流程1、客户端发送一条查询给服务器;2、服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段;3、服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划;4、MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询;5、将结果返回给客户端。3. 查询缓存配置1、查看转载 2021-04-15 10:23:15 · 493 阅读 · 0 评论 -
MySql5.7 直接拷贝数据文件后出现table xxx doesn’t exist
MySQL备份或者转移数据库时有一种方便的方法,就是直接拷贝MySQL目录下,data文件夹下对应的数据库文件夹;但当粘贴到另外的服务器下的data文件夹下后,虽然打开数据库后能看到各个table,但使用时却会提示table xxx doesn’t exist这种错误。出现这种问题一般是因为MySQL数据库使用的是InnoDB引擎解决办法:停止MySql服务注:复制过去的文件注意文件所属用户将原MySQL目录下,data文件夹下的ibdata1文件拷贝粘贴到新date文件夹下将原MySQL目录下转载 2021-04-12 15:51:53 · 2702 阅读 · 0 评论 -
MySQL如何访问Postgres
前言PostgreSQL 可以通过mysql_fdw访问MySQL(或者MariaDB),那MySQL如何访问PostgreSQL呢?答案是CONNECT Store Engine。MariaDB 从 10.0.2版本开始支持CONNECT Store Engine。CONNECT存储引擎使MariaDB可以访问外部(本地或远程)数据(MED)。这是通过根据不同的数据类型(尤其是各种格式的文件),通过ODBC或JDBC从其他DBMS或产品(例如Excel或MongoDB)提取的数据或从环境中检索到转载 2021-04-09 15:17:59 · 965 阅读 · 0 评论 -
1 恢复MySQL误删数据
作者:一个人的孤独自白 cnblogs.com/-mrl/p/9959365.html相信后端研发的同学在开发过程经常会遇到产品临时修改线上数据的需求,如果手法很稳那么很庆幸可以很快完成任务,很不幸某一天突然手一抖把表里的数据修改错误或者误删了,这个时候你会发现各种问题反馈接踵而来。如果身边有BDA或者有这方面经验的同事那么可以很快解决这个问题,如果没有那么希望这篇文章可以帮到你。第一步:保证mysql已经开启binlog,查看命令:查看binklog是否开启show variables li.转载 2021-03-30 13:45:43 · 235 阅读 · 0 评论 -
PostgreSQL用户登录失败自动锁定的解决办法
墨墨导读:PostgreSQL使用session_exec插件实现用户密码验证失败几次后自动锁定,本文介绍一种处理方案。一、插件session_exec安装配置篇下载插件并编译安装。https://github.com/okbob/session_exec$ unzip session_exec-master.zip $ cd session_exec-master/$ make pg_config=/opt/pgsql/bin/pg_config$ make pg_config=/opt.转载 2021-03-19 11:50:30 · 8746 阅读 · 3 评论 -
利用GDB调试 MSQL
GDB 简介GDB 是 Linux 系统中,非常常见的调试工具,它有以下功能:Start your program, specifying anything that might affect itsbehavior.Make your program stop on specified conditions.Examine what has happened, when your program has stopped.Change things in your program, so yo转载 2021-03-17 14:44:58 · 510 阅读 · 0 评论 -
oracle数据恢复
作为运维人员,尤其是数据库运维人员,最重要的事情要做备份,最重要的事情要做备份,最重要的事情要做备份,在这里重要的事情说三遍。有了数据库备份,再加上数据库恢复秘籍,足以应对任何情况了,如果没有备份,一旦磁盘损坏,文件损坏,表drop,记录被异常更新等等情况,就问问你,慌不慌。来说说几种oracle数据库数据恢复方法1.口令文件丢失进入到口令文件所在目录cd $ORACLE_HOME/dbs文件删除,模拟丢失rm orapwora10g; 删除之后,用以下命令重新建立一个文件,entries转载 2021-03-16 14:09:05 · 472 阅读 · 0 评论 -
Centos定时备份 MySQL数据库
一、编写数据库备份脚本 backupmysql.sh#!/bin/bash# Name:bakmysql.sh# This is a ShellScript For Auto DB Backup and Delete old Backup #备份地址backupdir=/data/mysql/dwy/mysqlbackup; #备份文件后缀时间time=_` date +%Y_%m_%d_%H_%M_%S` #需要备份的数据库名称db_name=database #mysql 用转载 2021-03-16 10:05:40 · 451 阅读 · 0 评论 -
Mysql报too many connections详解
用过mysql的小伙伴们,大部分都会碰到应用程序或者数据库维护人员连接数据库的时候,报too many connections的错误,这个错误是怎么产生的,该如何解决呢,下面就给大家进行详细解答下面是我的mysql 5.7的测试环境,查看一下和连接相关的参数配置mysql> show variables like '%connections%';+----------------------+-------+| Variable_name | Value |+---------转载 2021-03-16 09:37:31 · 1261 阅读 · 0 评论 -
分享一次生产应用无法连接Oracle数据库故障
故障简介今天一个应用运维同事微信联系我,说有一个应用日志,显示连接Oracle数据库报错,我问了一下是什么应用,对方回答是报表应用,这下心里有谱了。第一:报表应用重要性不高第二:一般这种情况,都是因为程序写的烂,一堆慢sql语句,将连接数占满了,导致获取不到连接数。日志分析于是让应用运维同事,将应用报错日志发给我先看看,报错信息如下所示java.sql.SQLException: Listener refused the connection with the following error:转载 2021-03-15 17:36:56 · 582 阅读 · 0 评论 -
MySQL数据库页损坏怎么办,innodb_force_recovery参数帮你解决问题
MySQL数据库页损坏怎么办,innodb_force_recovery参数帮你解决问题有些时候,你的MySQL数据库是单机,没有主从和高可用,如果宕机,或者其它异常情况,导致你的ibd文件损坏,这个时候,你的MySQL数据库实例无法启动了,而你又需要导出MySQL数据库中关键数据,这时innodb_force_recovery参数能救你一命,首先你需要了解innodb_force_recovery作用。innodb_force_recovery默认为0,innodb_force_recovery可以设转载 2021-03-15 17:34:03 · 4044 阅读 · 0 评论 -
实战:从Mysql数据库frm文件中,提取表结构创建SQL语句
需求在某些特殊的场景下,例如你的mysql数据库无法启动,需要你将表的ibd文件拷贝到另一个数据库中,恢复业务数据库,恢复业务数据的前提,是你需要在另一个数据库中,创建好一模一样的表结构。这时你就需要从Mysql数据库的frm文件中,提取表结构创建sql语句。要想读取frm文件中的表结构,你需要先安装mysql的工具集rpm包,我安装的是mysql-utilities-1.6.5-1.el7.noarch.rpm这个版本,这个包可以从mysql官方网站下载,他依赖mysql-connector-pyth转载 2021-03-15 17:28:57 · 1558 阅读 · 0 评论 -
Mongo数据库慢查询功能
简介使用Mysql数据库的朋友,肯定知道,可以开启慢查询日志,就能捕获Mysql数据库中的慢SQL语句了,那么在Mongo数据库怎么捕获慢查询呢,下面就一步步带大家了解Mongo数据库的慢查询功能的开启和使用的。开启Mongo数据库的慢查询功能Mongo数据库的慢查询功能(Profiling)有三个级别 0:代表关闭,不收集任何慢查询 1:收集慢查询数据,默认收集超过100毫秒的慢查询 2:收集任何操作记录数据默认情况下,Mongo数据库的慢查询功能是关闭的,如果想要知道Mongo数据库是否已经开启转载 2021-03-15 14:46:07 · 906 阅读 · 0 评论 -
Mysql8官方分布式数据库MGR最佳实践
MGR简介MGR是mysql Group Replication简称,中文名称是Mysql组复制,MGR是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案,提供了高可用、高扩展、高可靠的MySQL集群服务,目前只支持MYSQL5.7和mysql8.0版本。MGR优点1、高一致性:基于原生复制和paxos协议的组复制技术。2、高容错性:有自动检测机制,当出现宕机后,会自动剔除问题节点,在2N+1个节点集群中,集群 只要N +1个节点还存活着,数据库就能稳定的对外提供服务。3转载 2021-03-15 14:30:44 · 2478 阅读 · 0 评论 -
从库mysqldump会导致复制中断
背景环境数据库版本:5.6.24-log主从架构:一主两从搭配mha操作步骤1、开发要求truncate一张表,在删除之前需要备份下数据;2、在从库上使用mysqldump命令做逻辑备份,备份sql:mysqldump -uXXX -p osdc osdc_XXX > /tmp/osdc_info.sql;3、这台从库与主库的同步出现中断,报错为:Slave_IO_Running: YesSlave_SQL_Running: NoLast_Errno: 1756Last_转载 2021-03-15 13:50:50 · 663 阅读 · 0 评论 -
MySQL 5.6 主从报错一例
1. 问题现象版本:MySQL 5.6,采用传统 binlog file & pos 方式配置的主从复制结构。实例重启后,主从复制报错如上图所示。2. 错误含义错误分为2部分。第一部分Client requested master to start replication from position > filesize;the first event ‘mysql-bin.000398’ at 163800795,the last event readfrom ‘./m转载 2021-03-15 10:57:16 · 237 阅读 · 0 评论 -
阿里云数据库RDS MySQL 物理全备文件数据恢复至自建数据库Mysql 5.7中
环境介绍:CentOS 7.5Mysql 5.7percona-xtrabackup-24注意事项操作系统中已安装数据恢复工具Percona XtraBackup,您可以从Percona XtraBackup官网下载安装。MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3,安装指导请参见官方文档PerconaXtraBackup 2.3。MySQL 5.7版本需要安装 Percona XtraBackup 2.4,安装指导请参见官方文档Percona Xt转载 2021-03-12 17:14:49 · 820 阅读 · 0 评论 -
Linux下超简单的Mysql自动备份+定期删除之前备份文件脚本
引言:前段时间闹得沸沸扬扬的“微盟”事件,让人们更加明白了数据安全的重要性。一个企业数据丢失会付出很大的代价,最坏的情况下,丢失数据可能会导致企业的崩溃。根据国家档案与记录管理局的研究显示,在没有很好的数据保护和恢复策略的公司中,80%的公司将在发生数据大灾难的两年内倒闭。为了避免上述情况发生,除了对员工的身份权限和数据业务访问权限管控外, 还要对数据安全管理机制全面加固与整改、加强运维平台治理、加强灾备体系的建设,从管理机制与基础设施建设两方面构筑安全防线,以杜绝此类事件再次发生。脚本:[root@转载 2021-03-12 16:40:00 · 291 阅读 · 0 评论 -
给Mysql服务添加 iptables防火墙策略
如果你的Mysql数据库安装在centos7的系统上,并且你的操作系统启用了防火墙。应用要访问mysql数据库,你有2个解决方案。方案一:停止防火墙服务方案二:在防火墙中添加策略,让应用能正常访问mysql服务端口停止Centos7防火墙查看防火墙运行状态[root@mysql ~]# firewall-cmd --staterunning停止防火墙服务[root@mysql ~]# systemctl stop firewalld.service启动Centos7防火墙查看防火墙运转载 2021-04-28 14:10:53 · 1330 阅读 · 0 评论 -
Mysql数据库drop表不用跑路,表空间传输助你恢复数据
今天给大家介绍一种,在Mysql数据库中,利用InnoDb的表空间传输功能,帮助你恢复drop的业务表。Mysql表空间传输限制要使用Mysql数据库表空间传输功能,有2个限制1.Mysql数据库版本必须在5.6以上2.Mysql数据库必须开启innodb_file_per_table测试目标测试库tmp中的test1表被drop了,需要用testdb库中的test1表记录进行恢复目标库测试表drop登录数据库,drop掉tmp.test1业务表[root@localhost] 16:14转载 2021-03-11 11:25:46 · 229 阅读 · 0 评论 -
分享两个Mysql在线全备和binlog日志备份脚本
对于Mysql数据库运维人员,什么最重要,当然是数据库备份最重要,没有之一。在这里我要分享两个Mysql在线全备和binlog日志备份shell脚本给大家,其中Mysql数据库在线全备用的innobackupex工具。innodbackupex在线热备工具innodbackupex工具是一个Perl脚本,它对xtrabackup 程序的做了一个封装。innodb的Mysql数据库在线热备份工具,它集成了xtrabackup和其他功能,并且在还有提供增强功能。它能帮你将innodb表和MyISAM表和服务转载 2021-03-11 11:20:50 · 195 阅读 · 0 评论 -
实战:一文带你解决Mysql主从复制日常错误
使用过Mysql数据库朋友,一定听过读写分离,听的多的,估计耳朵都起茧子了。那么读写分离是怎么实现的呢,最常见的方法就是搭建Mysql的主从复制,主库提供写操作,从库提供读操作,从而达到应用的读写分离。主从复制最常见的2种错误第一种:主键冲突(Error_code: 1062)第二种:记录丢失,例如update,delete操作,在从库找不到对应记录(Error_code: 1032)下面来详细模拟一下记录丢失,处理全过程检查主从复制是否正常[root@localhost] 11:34:29转载 2021-03-11 11:11:15 · 399 阅读 · 0 评论 -
一次Mysql服务不断重启排查,原因竟然是它
前段时间,有测试人员联系我,需求帮助,让我帮忙看看,测试环境的一台mysql数据库不断的重启,导致他们的测试无法进行,时间拖的长了,会影响上线进度。问题描述在一个测试环境,mysql5.7部署在centos7.4的系统上,测试人员用LoadRunner进行应用的一个压测测试,压测并发为128,启动LoadRunner过几秒,LoadRunner日志就报错,显示mysql服务断开了,过几秒又恢复,然后又断开,异常诡异。排查定位于是就登录到服务器,看一下数据库服务器的内存,内存已经用完了,紧接着就看ce转载 2021-03-11 11:02:01 · 2602 阅读 · 0 评论 -
mysqldump对mysql数据库的影响
对于想入门或者初级,中级mysql数据库运维人员,了解mysqldump对mysql数据库的影响,是非常必要的,当执行mysqldump命令之后,mysql后台执行了什么,下面就带大家看看,在这里使用general_log进行分析1.首先的开启数据库的general_log,如下所示[root@localhost] 17:30:41 [(none)]>show variables like 'general_log%';+------------------+------------------转载 2021-03-11 10:57:51 · 2174 阅读 · 0 评论 -
史上最好用的Mysql历史数据归档工具
应用场景在mysql数据库运维过程中,总会碰到一些比较棘手的事情,历史数据归档绝对算的上一个。由于一些历史原因,有些业务表当初被设计成单表,而且没有分区,业务跑了一段时间,发现越来越慢了。一排查,发现这些单表的数据太多了,导致查询效率变低,这个时候,需要将一些业务用不到的历史数据归档,减少表的数据量,提升查询效率。可是要丝滑的将这些历史数据进行归档,可不是一件容易的事情。注意是丝滑,不能停业务,不能对线上业务造成影响。上面就是历史数据归档的需求,要解决上面的问题,percona-toolkits工具集转载 2021-03-11 10:52:47 · 2677 阅读 · 0 评论 -
MySQL案例:一次诡异的Aborted connection错误排查
简介前段时间,研究怎么去提升数据库安全,例如禁止执行不带条件的update操作,于是就想到了去启用sql_safe_updates参数,这个参数Mysql默认是不启用的,而且还不能加入到my.cnf配置里。因此就想到了用init_connect参数,将sql_safe_updates=1放到init_connect参数里,这样每个用户会话连接的时候,就会启用sql_safe_updates参数了。可是用普通连接数据库之后,使用某个库之后,就会报错mysql> use information_sc转载 2021-03-11 10:45:26 · 4347 阅读 · 0 评论 -
MySQL8新增管理端口
简介用过MySQL数据库朋友一定对“ERROR 1040 (HY000): Too many connections”,这个报错不陌生,出现这个报错的原因有两种情况,一种是单个用户的连接数超过“max_user_connections”参数定义值,另外一种情况是,所有应用的连接数超过“max_connections”参数定义值。如果是第二种情况,MySQL数据库还提供一个额外连接,这个连接只有super角色的用户能登录,例如root用户,使用root用户登录数据库之后,就可以进行故障定位。但是如果由于管转载 2021-03-11 10:40:25 · 351 阅读 · 0 评论 -
如何计算MySQL数据库占用内存
简介估计有很多开发,或者刚刚接触MySQL数据库的运维人员,不太清楚,如何去计算MySQL数据库占用内存总大小。估计有时候,还会奇怪,明明设置的buffer pool size不大,数据库却因为操作系统内存不足,导致MySQL数据库进程被系统自动kill掉了。下面就来给你一一揭晓答案MySQL数据占用内存MySQL数据库占用操作系统内存,主要分为两部分第一部分为:innodb存储引擎占用的buffer pool size,一部分为myism存储引擎占用的内存大小第二部分为:MySQL数据库应转载 2021-03-11 10:34:20 · 976 阅读 · 0 评论 -
LINUX环境:MySQL和Oracle开机自启动
MySQL配置自启动#将MySQL的启动服务添加到系统服务中,设置开机自启动:(chkconfig 命令redhat系统的)创建软连接:[root@ethan-testdb ~]# ln -s /MySQLsoft/MySQL /usr/local/MySQL [root@ethan-testdb ~]# pwd/usr/local/MySQL/support-files[root@ethan-testdb ~]# cp MySQL.server /etc/init.d/MySQLd .转载 2021-03-10 13:56:02 · 249 阅读 · 0 评论 -
MySQL 默认最大连接数是多少?(更改链接数)
作者:mohan87821000 来源:https://blog.51cto.com/5250070/1672803上午刚工作10分左右,同事说在使用jira时出现问题,具体截图如下:通过上图的报错信息:定位为mysql数据库连接数的问题解决方法:1.登录mysql进行查看Mysql –uroot –p123456mysql> show variables like'%max_connections%';+-----------------+-------+| Variable_.转载 2021-03-01 11:40:17 · 4498 阅读 · 1 评论