本文介绍了linux下如何备份与恢复mysql数据库。

数据库备份是非常重要的。如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次正常的状态,把损失减小到最少。

一、 用命令实现备份

MySQLl提供了一个mysqldump命令,我们可以用它进行数据备份。

按提示输入密码,这就把tm数据库所有的表结构和# mysqldump -u root -p tm > tm_050519.sql数据备份到tm_050519.sql了,因为要总进行备份工作,如果数据量大会占用很大空间,这时可以利用gzip压缩数据,命令如下:# mysqldump -u root -p tm | gzip > tm_050519.sql.gz

系统崩溃,重建系统时,可以这样恢复数据:# mysql -u root -p tm < tm_050519.sql

从压缩文件直接恢复:#gzip < tm_050519.sql.gz | mysqldump -u root -p tm

当然,有很多MySQL工具提供更直观的备份恢复功能,比如用phpMyAdmin就很方便。但我认为,mysqldump是最基本、最通用的。

二、利用crontab,系统每天定时备份mysql数据库

利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。

1、创建保存备份文件的路径/var/backup/mysqlbak# mkdir -p /var/backup/mysqlbak

2、创建/usr/sbin/bakmysql文件

#vi /usr/sbin/bakmysql.sh#!/bin/bash

# mysql备份脚本

cd /var/backup/mysqlbak/

dateDIR=`date +"%y-%m-%d"`

mkdir -p $dateDIR/data

for i in `/usr/local/www/mysql/bin/mysql -uroot -plin31415926 -e "show databases" |

grep -v "Database" | grep -v "information_schema"`

do

/usr/local/www/mysql/bin/mysqldump -uroot -plin31415926 $i |

gzip > /var/backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gz

done

3、修改文件属性,使其可执行# chmod +x /usr/sbin/bakmysql

4、修改/etc/crontab# crontab -e

在下面添加

01 3 * * * root /usr/sbin/bakmysql

#表示每天3点钟执行备份

这样每天就可以在/var/backup/mysqlbak下看到备份的sql文件 了!

linux恢复mysql数据库_linux下如何备份还原mysql数据库相关推荐

  1. linux python连接oracle数据库_Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法...

    本文档主要描述了Linux下python数据库驱动的安装和配置,用来实现在Linux平台下通过python访问MySQL.Oracle.SQL Server数据库. 其中包括以下几个软件的安装及配置: ...

  2. linux下备份mysql日志_Linux下使用Logrotate对MySQL日志进行轮转备份

    根据自己的需要可以对MySQL的相关日志文件(错误日志.通用查询日志文件和慢查询日志文件)进行按天的转储,并只保留指定天数的备份文件,下面是一个例子: 1).安装 crond 服务 (如果未安装  y ...

  3. linux中的mysql使用_Linux下安装和使用MySQL(二)

    三.登录MySQL 登录MySQL的命令是mysql, mysql 的使用语法如下: mysql [-u username] [-h host] [-p[password]] [dbname] use ...

  4. 源码安装mysql数据库_Linux下源码安装mysql数据库

    1.  创建mysql安装目录: [root@localhost ~]#mkdir –pv /usr/local/mysql/ 2.  创建数据存放目录: [root@localhost ~]#mkd ...

  5. linux导入mysql数据库_linux下导入、导出mysql数据库命令

    window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql ...

  6. gnu linux mysql下载_linux下的navicat for mysql下载

    相关环境:CentOS7 64位 我自定义安装在以下目录: [root@spark Desktop]$ mkdir -p /data/navicat #新建文件夹,放Navicat的安装目录 1.关闭 ...

  7. linux怎么把mysql数据库备份还原,MySQL数据库备份和还原

    MySQL数据库备份和还原 打开cmd命令行,一定不是mysql的命令行,我第一次就错在这个地方,郁闷了很久 备份MySQL数据库的命令 mysqldump -hhostname -uusername ...

  8. linux下mysql用户_linux下mysql用户管理方法

    一.root用户密码的维护: 由于安装mysql完后,mysql会自动提供一个不带密码的root用户,为了安全起见给root设置密码: 复制代码 代码示例: #mysqladmin -u root p ...

  9. xtrabackup备份还原MySQL数据库

    原文:xtrabackup备份还原MySQL数据库 mysqldump 备份鉴于其自身的某些特性(锁表,本质上备份出来insert脚本或者文本,不支持差异备份),不太适合对实时性要求比较高的情况 Xt ...

最新文章

  1. 【C++】多态(早期绑定、后期绑定)、抽象类(纯虚函数)、虚析构函数
  2. php源代码序列号,php如何生成不重复的序列号
  3. Flume TailDir 基本流程
  4. 腾讯云 wdcp ip:8080打不开,wdcp phpmyadmin打不开
  5. MQ的引言|不同MQ的特点|RabbitMQ安装
  6. Eclipse is running in a JRE, but a JDK is required错误的解决
  7. DDD领域驱动实践记录
  8. C php反序列化,php反序列化漏洞 - anansec的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. chrome浏览器屏蔽输入法
  10. Struts2(十二)使用验证框架验证数据较验
  11. 最流畅的手机,性能、跑分却弱爆了?2019年上半年手机数据报告出炉
  12. 有赞透明多级缓存解决方案(TMC)设计思路
  13. 大家一起写mvc(二)
  14. mysql日期相关的函数
  15. windows ***的搭建
  16. Oracle常用函数
  17. Hadoop配置环境变量(详解版)
  18. 关于阿里云,有什么故事?
  19. 帝国时代3亚洲王朝怎么控制军营训练其它文明的兵种
  20. 基于Springboot搭建个人博客 (学习笔记)

热门文章

  1. 居转户问题1-被退回之后附件如何删除?
  2. 《Dynamic Filter Networks》动态过滤网络
  3. 删除链表的结点——《剑指offer》
  4. 筑牢网络安全,联瑞电子为您的信息传输系“安全带”
  5. 软考中级备考需要多久?哪个好考?
  6. Vue的全局事件总线实现任意组件间通信
  7. 大概率思维《The House Advantage》
  8. Unity中实现批量替换字符串中的指定字符
  9. 2020年链家网成都二手房销售情况可视化总结
  10. 有人说这是2021字节跳动-初级Android工程师的面经?吓到我了!我还是去搬砖吧!