mysqldump备份数据时网站访问过慢[甚至无法访问]解决办法

news/2024/5/13 16:01:30/文章来源:https://blog.csdn.net/jimbooks/article/details/100054453

现在大多数网站使用都是数据库mysql或者mariadb数据库,因为最直接的原因就是他是开源的的,不需要支付二外的费用,并且性能也很不错,这也是mysql和mariadb如此受人们喜欢的原因。那么我们在进行的数据库的备份的时候,如何正确的备份数据库呢?特别是生产环境,因为网站正在访问的时候,不能关闭网站备份吧。

 

如果浏览不顺畅请到原文章出处:https://www.sky8g.com/technology/3089/

请注意可能会提示风险,这是CSDN网站设置的问题,如果文章内的链接不是他们的网址,都会对用户提示有风险,请点击继续访问,本网站全部文章为免费技术分享,请放心访问,无需担心。

请点击此处查看完整文章:https://www.sky8g.com/technology/3089/
此篇文章是由SKY8G网作者原创,禁止抄袭。

 

 

于是我们就使用mysqldump命令进行压缩备份mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz 或者不压缩mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql.gz但是在备份的过程中我们可以看到cpu的负载极具上升,并且网站打开非常慢甚至打不开,浏览器一直转圈。

这是我们就要想办法了,经过多次百度查询最终找到解决办法:如下进行热备份才是最靠谱的,这样网站又可以访问又不影响备份。在执行下面的解决办法之前我们首先要看看数据库时候支持热备份吗?

首先我们要查看数据库表的存储引擎,如果是Engine可以进行,还好我的数据库是这个引擎。

1

SHOW TABLE STATUS

第二步若果是Engine引擎执行下面的命令进行备份

1

mysqldump -uuser -ppass --single-transaction --routines --triggers --all-databases > backup_db.sql

--single-transaction 生成一个检查点,该检查点允许备份在接收传入更改时捕获检查点之前的所有数据。这些传入的更改不会成为备份的一部分。这确保了所有表都具有相同的时间点。

--routines 备份所有存储过程和存储函数。

--triggers 备份具有它们的每个表的所有触发器。

 Info! 通过这个可以在生产环境进行备份了,特别是大数据的时候,非常管用。

下面我们要了解下数据有几种备份类型。

  1. 数据库备份类型
  2. mysqldump命令备份数据库
  3. mysqldump压缩与未压缩备份
  4. mysqldump命令导入(恢复)数据库
  5. mysqldump的定时计划任务

数据库备份类型

备份类型描述
逻辑备份这种类型的备份是通过使用create database、create table和insert等SQL语句保存表示逻辑数据库结构的信息来创建的。当您想要从一个MySQL版本升级到另一个版本时,这种类型的备份是理想的,但是它是一种较慢的备份方法。
物理备份这种类型的备份是对实际数据库文件或磁盘分区的备份,这种类型的备份可以非常快地进行备份和恢复。
完整备份完整备份是包含数据库中所有内容的独立备份,然后可以在另一台服务器上恢复。完整备份可以是逻辑备份,也可以是物理备份。
增量备份这种类型的备份只包含上次备份更改后的数据。这种类型的备份的优点是速度更快,因为没有太多的数据要备份,但是缺点是需要更长的时间来恢复。
固定点备份这是在确切时刻的备份,通常您关闭数据库(或静止模式)然后进行备份。
热备份在数据库运行时采用这种类型的备份,在备份期间不会阻止读取和写入
温备份这种类型的备份是在数据库运行时进行的,但是不会阻止读取,但禁止写入对数据库进行任何修改。
冷备份类似于固定点的备份,因为数据库在备份开始之前关闭

 

关于备份的类型我们讨论已经足够多了,让我们来看看如何进行备份,MySQL可以使用很多备份工具,见下表

Backup tools for MySQL

Backup method

Storage engine

Impact

Backup speed

Recovery speed

Recovery granularity

mysqldump

ALL

WARM

MEDUIM

SLOWEST

MOST FLEXIBLE

mysqldump

INNODB

HOT

MEDUIM

SLOWEST

MOST FLEXIBLE

select into outfile

ALL

WARM

SLOW

SLOW

MOST FLEXIBLE

mk-parallel-backup

ALL

WARM

MEDUIM

MEDUIM

FLEXIBLE

ibbackup

INNODB

HOT

FAST

FAST

FLEXIBLE

ibbackup

ALL

WARM

FAST

FAST

FLEXIBLE

backup command in mysqld

ALL

HOT

FAST

FAST

FLEXIBLE

filesystem (copy files)

ALL

COLD

FASTEST

FASTEST

NOT FLEXIBLE

snapshot (using LVM, ZFS, VMWare)

ALL

ALMOST HOT

FAST

FAST

LEAST FLEXIBLE

mysqlhotcopy

MyISAM

MOSTLY COLD

FAST

FAST

FLEXIBLE

 

mysqldump命令备份数据库

mysqldump命令已经存在很长时间了,它提供了对整个数据库、单个数据库、单个表甚至数据子集的逻辑备份,使用-where选项,它通常被称为数据转储。输出是ascii格式的,这意味着您可以在vi或记事本中打开它,并根据需要更改包含的内容。我不打算详细介绍mysqldump命令的所有选项,而是向您展示一些示例

mysqldump 备份所有的数据库

1

2

## backup all databases

mysqldump --user=root --password --all-databases > backup_<date>_all.sql

例如:mysqldump --user=root --password --all-databases > backup_2019.08.25_all.sql

mysqldump 备份特定的数据库

1

2

## backup a specific database

mysqldump --user=root --password <database_name> > backup_<date>_<database_name>.sql

例如:mysqldump --user=root --password sky8gdatabase > backup_2019.08.25_sky8gdatabase .sql

mysqldump 备份数据库中一个表数据

1

2

## backup a table from a database

mysqldump --user=root --password <database_name> <table_name> > backup_<date>_<database_name>_<table_name>.sql

例如:mysqldump --user=root --password sky8gdatabase wp-user > backup_2019.08.25_sky8gdatabase_wp-user.sql

mysqldump 备份数据库中特定的数据

1

2

## backup some specific data

mysqldump --user=root --password <database_name> <table_name> --where "last_name='VALLE' order by first_name" > backup_<date>.sql

例如:mysqldump --user=root --password sky8gdatabase  wp-user --where "last_name='VALLE' order by first_name" > backup_2019.08.25.sql

mysqldump 一个数据库备份到另一个数据库

1

2

## dumping from one database to another

mysqldump --databases <database_name> | mysql -h <destination_host> <database_name>

 

mysqldump压缩与未压缩备份

备份压缩可以节省存储空间和网络流量,从而将备份数据传输到其他服务器上。压缩确实增加了一些CPU开销,但开销是依赖于算法的,并且对于MySQL Enterprise Backup使用的默认算法来说相当低。此外,压缩通常会大大减少IO开销,这可能会缩短恢复时间,尤其是对于速度较慢的IO设备。但是,在还原过程中,您需要时间进行解压缩,同时还需要压缩和解压缩数据的存储空间。因此,在考虑是否创建压缩备份时,请考虑额外的存储空间以及还原期间所需的额外时间。

将备份数据流式传输到另一台服务器时,您可能希望在原始服务器或目标服务器上压缩备份,具体取决于哪个服务器具有更多的备用CPU容量以及压缩可以节省多少网络流量。

mysqldump 不使用压缩备份

 

1

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql.gz

mysqldump 使用压缩备份

1

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

 

mysqldump命令导入(恢复)数据库

mysqldump 恢复所有的数据库

 

1

2

## all databases

mysql --user=root --password < backup.sql

mysqldump 恢复特定的数据库

1

2

## specific database

mysql --user=<user> --password <database_name> < backup_<dataabse_name>.sql

 

mysqldump的定时计划任务

1.创建MySQL备份脚本

现在,将以下内容复制到脚本文件中(例如:/backup/mysql-backup.sh),并保存在Linux系统上。使用此链接下载脚本。然后根据您的环境在脚本的“Update below values”部分更改一些配置值。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

#!/bin/bash

 

export PATH=/bin:/usr/bin:/usr/local/bin

TODAY=`date +"%d%b%Y"`

################################################################

################## Update below values  ########################

DB_BACKUP_PATH='/backup/dbbackup'

MYSQL_HOST='localhost'

MYSQL_PORT='3306'

MYSQL_USER='root'

MYSQL_PASSWORD='mysecret'

DATABASE_NAME='mydb'

BACKUP_RETAIN_DAYS=30   ## Number of days to keep local backup copy

#################################################################

mkdir -p ${DB_BACKUP_PATH}/${TODAY}

echo "Backup started for database - ${DATABASE_NAME}"

mysqldump -h ${MYSQL_HOST} \

   -P ${MYSQL_PORT} \

   -u ${MYSQL_USER} \

   -p${MYSQL_PASSWORD} \

   ${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH}/${TODAY}/${DATABASE_NAME}-${TODAY}.sql.gz

if [ $? -eq 0 ]; then

  echo "Database backup successfully completed"

else

  echo "Error found during backup"

  exit 1

fi

##### Remove backups older than {BACKUP_RETAIN_DAYS} days  #####

DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"`

if [ ! -z ${DB_BACKUP_PATH} ]; then

      cd ${DB_BACKUP_PATH}

      if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then

            rm -rf ${DBDELDATE}

      fi

fi

### End of script ####

2.创建或下载脚本后,请确保将执行权限设置为正常运行。

1

chmod +x /backup/mysql-backup.sh

3.在Crontab中调用脚本

现在将crontab中的脚本安排为每日运行,并定期完成备份。使用crontab -e命令在系统上编辑crontab。添加以下设置以在凌晨2点启用备份。

1

0 2 * * * root /backup/mysql-backup.sh

保存crontab文件。启用cron后,脚本将自动进行备份,但要确保每周或每月进行一次检查备份。

如果有不懂的地方请留言,SKY8G网站编辑者专注于研究IT源代码研究与开发。希望你下次光临,你的认可和留言是对我们最大的支持,谢谢!

 本篇文章是由sky8g网站原创文章版权声明转载请注明:
来源网址:https://www.sky8g.com/technology/3089/

分类: IT博客, MySQL-技术Tagged mysqldump备份数据库

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

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

相关文章

Docker使用docker compose搭建Jellyfin私人媒体服务器 个人电影网站

->Docker及docker compose的安装点这里 创建 docker-compose.yml 文件 version: "3" services:jellyfin:image: jellyfin/jellyfincontainer_name: jellyfinstdin_open: truetty: truerestart: alwaysports:- 9004:8096volumes:- ./config:/config- /nas:/naspr…

获取cdn配置风暴英雄_GitHub Actions+腾讯云COS+SCF云函数刷新CDN自动化部署静态网站...

。作者介绍Stille&#xff1a;互联网重度爱好者&#xff0c;喜欢追求一切基于互联网的前沿科技、技术、产品&#xff0c;目前从事互联网软硬件相关工作。作为强迫症患者&#xff0c;一直对自动化部署非常痴迷&#xff0c;个人认为全自动部署最重要的就是稳定可靠&#xff0c;经…

java家电网站_基于jsp的家电销售网-JavaEE实现家电销售网 - java项目源码

基于jspservletpojomysql实现一个javaee/javaweb的家电销售网, 该项目可用各类java课程设计大作业中, 家电销售网的系统架构分为前后台两部分, 最终实现在线上进行家电销售网各项功能,实现了诸如用户管理, 登录注册, 权限管理等功能, 并实现对各类家电销售网相关的实体进行管理…

一步步学习SPD2010--第二章节--处理SP网站(4)--删除SP网站

如果你不再需要一个网站&#xff0c;你可以删除它。注意&#xff0c;当你删除网站时&#xff0c;并没有送到回收站。正如在本章节之前看到的&#xff0c;你可以使用SPD创建网站。网站标题反映了用来创建网站的模板名称。例如&#xff0c;你可能会创建很多名为团队网站的网站&am…

得分(Score,ACM/ICPC Seoul 2005,UVa1585)

给出一个由O和X组成的串&#xff08;长度为1~80&#xff09;&#xff0c;统计得分。每个O的得分为目前连续出现的O的个数&#xff0c;X的得分为0。例如&#xff0c;OOXXOXXOOO的得分为1200100123. 输入样例 5 OOXXOXXOOO OOXXOOXXOO OXOXOXOXOXOXOX OOOOOOOOOO OOOOXOOOOXOOOO…

seo说_百度指数看世间沉浮_如何快速排名-互点快速排名_如何挖掘关键词?分享5招,小白也能做好SEO网站优化!...

SEO优化、提升排名、网站优化这些都是SEO网站推广人员老生常谈的话题。关于网站SEO优化的咨询&#xff0c;很多人会遇到以下几种情况&#xff1a;网站优化很吃力&#xff1b;网站排名总是上不去&#xff1b;网站排名不稳定该怎么解决&#xff1b;不知道如何挑选合适的网站关键词…

Java的SSH网站

1、框架 strusts2 Hibernate spring 2、图片 图1-1 网站结构 图1-2 java代码结构 3、源代码 3.1 UserAction.java package com.xhu.action;import java.util.HashMap; import java.util.Map;import javax.annotation.Resource;import net.sf.json.JSONObject; import net.sf.…

30个宏伟的酒厂和葡萄园网站设计

在过去的几年中&#xff0c;越来越多的企业推出自己的网站。以下网站是挑选的世界各地的葡萄园网站&#xff0c;有些还是著名的旅游景点&#xff0c;而另一些则只是家族企业与伟大的产品的历史。之前给大家分享个很多行业的企业网站&#xff0c;这篇文章收集了30个宏伟的酒厂和…

网站iis php发布网站吗,PHP网站在IIS中发布的相关配置

前言前段时间整了一个挂Q的平台。源代码是从网上下载的&#xff0c;后期稍微调整了一下链接和title之类的文字就上线了。详细在这里。运行了一段时间&#xff0c;除了偶尔出现QQ下线上线&#xff0c;整体效果基本上符合预期&#xff0c;个人感觉很满意&#xff0c;也小有成就感…

php网站后台登录背景,wordpress后台登录页面logo/链接/背景修改(自定义)

wordpress后台登录页面logo链接默认是链接到https://cn.wordpress.org/&#xff0c;logo图标是一个W图&#xff0c;没有背景图。为了个性化&#xff0c;很多wordpress网站后台都进行了自定义WordPress的登录页面。这个可以在主题的functions.php 添加一些简单的代码来实现自定义…

【PC网站前端架构探讨系列】关于中小型PC网站前端架构方案的讨论与实践

目 录 1.遇到的问题 2.目标 3.探讨 4.架构设想 5.流程 6.初步实现 7.存在问题 8.最后 遇到的问题 我在这个系列上篇文章 已经讲解并开始逐步应用模块化思想&#xff0c;不知大家还记不记得&#xff0c;题目&#xff1a;【PC网站前端架构探讨系列】结合公司网站首页&#xff0…

网站访问慢跟80端口_怎样用黑群创建自己的个人网站

我们搭建网站通常是在云服务器或云虚拟空间&#xff0c;亦或是自己的笔记本电脑。前者需要另外按月购买&#xff0c;后者需要24H联网开机。而已经在手上的(黑群)安装Web Station后&#xff0c;不仅不需要额外购买&#xff0c;还不用自己从零搭建网站。那么我们现在开始吧&#…

网站能ping通 网页打不开_怎么回事?我的电脑浏览器打不开网页,但微信、QQ却又能用?...

怎么回事&#xff1f;我的电脑浏览器打不开网页&#xff0c;但微信、QQ却又能用&#xff1f;打开电脑&#xff0c;登上微信、QQ&#xff0c;打开网页&#xff0c;这已经是每天的日常工作了。怎么回事&#xff0c;我的网页怎么打不开了&#xff1f;换个浏览器&#xff0c;好奇怪…

js通过月份判断前三个月_【扫黑专题】分析BC跳转JS骚操作、解决网站反复被黑【实战操作】...

【扫黑专题】分析BC跳转JS骚操作、解决网站反复被黑【实战操作】 前几天写了一篇文章、关于分析BC做法的文章(如果有没看的兄弟、请去公众号&#xff1a;逆冬黑帽SEO&#xff0c;公众号里有更多精彩文章)、下面我们再来看看BC跳转手法(主要以JS为主)、以及大家讲讲如何防黑的干…

安全狗linux更新日志,网站安全狗_ 网站安全狗(Linux版)_下载之家

网站安全狗(Linux版)是一款服务器安全防护软件,网站安全狗集网站内容安全防护,网站资源保护及网站流量保护功能为一体的服务器工具。网站安全狗功能涵盖了网马/木马扫描,防SQL注入,防盗链,防CC攻击,网站流量实时监控,网站CPU监控,下载线程保护,IP黑白名单管理,网页防篡改功能(结…

背景视频html5网页,视频作为网站背景? HTML 5

我可能有一个解决方案&#xff0c;可以将视频作为背景&#xff0c;并扩展到浏览器的宽度或高度(但视频仍将保留长宽比&#xff0c;尚无法找到解决方案。)&#xff1a;将视频放在带有bodydummy的正文标签之后。之后&#xff0c;放置一个“婴儿假人”标签&#xff1a;将所有内容放…

外贸电子商务网站之Prestashop 设置网站基本信息

顶部banner图&#xff0c;首页各尺寸banner图、社交分享、物流支持、支付方式提醒等等设置 示例版本&#xff1a;1.6.1.11 转载于:https://www.cnblogs.com/MY0101/p/6424770.html

使用Django开发集成Pytorch\Tensorflow的人工智能网站

AI_WEB 链接&#xff1a;resnet分类模型 提取码&#xff1a;nh4r 查看nginx错误日志cat /var/log/nginx/error.log1.基础环境和软件库需求2.Xshell远程连接服务器3.安装Linux版本的Anaconda4.安装并测试Django5.Git使用6.服务器拉取仓库代码7.规范django开发文件8.配置settin…

Hdlbit网站练习:Exams/ece241 2013 q4:水位问题

此题需要注意的地方有三个&#xff1a; 1&#xff09;水位监测器的输入是状态跳转的条件 2&#xff09;assign {fr3,fr2,fr1} {!s[1],!s[2],!s[3]};//不能根据输入判断否则会提前一会时钟 3&#xff09;assign dfr (state < next_state) ? 1’b0 : 1’b1; //使用组合逻辑…