01-数据备份

# 1、使用 MySQLdump 命令备份
MySQLdump 是MySQL提供的一个非常有用的数据库备份工具。
MySQLdump 命令执行时,可以将数据库备份成一个文本文件,该文本实际上包含了多个CREATE和INSERT语句,使用这些语句可以重新创建表和插入数据。
基本语法格式如下:
mysqldump -u user -h host -p password dbname[tbname, [tbname...]]>filename.sql
user表示用户名称;host 表示登录用户的主机名称;password为登录密码;
dbname为需要备份数据库名称;tbname为dbname数据库中需要备份的数据表,可以指定多个需要备份的表;
右箭头符号'>'告诉MySQLdump将备份数据表的定义和数据写入备份文件;
filename.sql 为备份文件的名称。 # 2、使用 MySQLdump 备份单个数据库中的所有表
mysqldump -u root -p booksdb > /users/huangyanpeng/Desktop/db_test/booksdb_20190909.sql # 3、使用 MySQLdump 备份数据库中的某个表
语法格式如下:
mysqldump -u user -h host -p dbname [tbname, [tbname...]] > filename.sql
tbname表示数据库中的表名,多个表名之间用空格 隔开。
备份表和备份数据库中所有的表 的区别:要在数据库名称dbname之后指定需要备份的表名称。 # 4、使用MySQLdump备份多个数据库
mysqldump -u user -h host -p --databases [dbname, [dbname...]] > filename.sql
使用--databases 参数之后,必须指定至少一个数据库的名称,多个数据库名称之间用空格隔开。
另外,使用 --all-databases 参数可以备份系统中所有的数据库,语句如下:
mysqldump -u user -h host -p --all-databases > filename.sql # 运行帮助命令
mysqldump --help # 5、使用 MySQLhotcopy 工具快速备份
备份数据库或单个表的最快途径,但它只能运行在数据库目录所在的机器上,并且只能备份MyISM类型的表。MySQLhotcopy 在Unix系统中运行。
语法格式如下:
mysqlhotcopy db_name_1, ... db_name_n /path/to/new_directory db_name_1, ... db_name_n 分别为需要备份数据库的名称;
/path/to/new_directory 指定备份文件目录。
使用 MySQLhotcopy 备份test数据库到 /usr/backup 目录下,输入语句如下:
mysqlhotcopy -u root -p test /usr/backup
要想执行 MySQLhotcopy,必须可以访问备份的表文件,具有哪些表的SELECT权限、RELOAD权限 和 LOCK TABLES 权限。 注意:
(1)MySQLhotcopy 只是将表所在的目录复制到另一个位置,只能用于备份MyISAM和ARCHIVE表。
(2)备份InnoDB类型的数据表时会出现错误信息。
(3)由于它复制本地格式的文件,故也不能移植到其他硬件或操作系统下。

02-数据恢复

# 1、使用MySQL命令恢复
对于已经备份的包含 CREATE、INSERT 语句的文本文件,可以使用MySQL命令导入到数据库中。
备份的sql文件中包含CREATE、INSERT 语句(有时也会有DROP语句)。
语法如下:
mysql -u root -p [dbname] < filename.sql
参数:
user是执行backup.sql 中语句的用户名;-p 表示输入用户名密码;
dbname 是数据库名;如果filename.sql 文件为MySQLdump 工具创建的包含创建数据库语句的文件,执行的时候不需要指定数据库名。
例:
mysql -u root -p booksDB < /.../booksdb_20190909.sql
执行该语句之前,必须先在MySQL服务器中创建 booksDB数据库。
如果已经登录服务器,还可以使用 source 命令导入 SQL 文件。
source filename.sql
要先切换到 相应的数据库下。 # 2、直接复制到数据库目录 # 3、MySQLhotcopy快速恢复
MySQLhotcopy 备份后的文件也可以用来恢复数据库,在MySQL服务器停止运行时,
将备份的数据库文件复制到MySQL存放数据的位置(MySQL的data文件夹),重新启动服务即可。
如果以根用户执行该操作,必须指定数据库文件的所有者,输入语句如下:
chown -R mysql.mysql /var/lib/mysql/dbname 例:
从MySQLhotcopy 复制的备份恢复数据库,输入语句如下:
cp -R /usr/backup/test usr/local/mysql/data
执行完该语句,重启服务器,MySQL将恢复到备份状态。 注意:
(1)如果要恢复的数据库已经存在,则先删除DROP数据库之后,再恢复才能成功。
(2)另外MySQL不同版本之间必须兼容,恢复之后的数据才可以使用。

03-数据迁移

# 1、相同版本的MySQL数据库之间的迁移
最简单的方式是通过复制数据库文件目录,只试用于MyISAM引擎表。
对于InnoDB表,不能直接复制文件的方式备份数据库。
因此最常用和最安全的方式是使用MySQLdump命令导出数据,然后在目标数据库服务器使用MySQL命令导入。
例:
将www.abc.com 主机上的MySQL数据库全部迁移到www.bcd.com主机上。在www.abc.com 主机上执行的命令如下:
mysqldump -h www.abc.com -uroot -p password dbname | mysql -h www.bcd.com -uroot -p password
MySQLdump导入的数据直接通过管道符 | 传给MySQL命令导入的主机www.bcd.com 数据库中。
dbname 为需要迁移的数据库名称,如果要迁移全部数据库,使用参数 --all-databases。 # 2、不同版本的MySQL数据库之间的迁移
旧 --》新:
(1)对于MyISAM引擎表,可以直接复制数据库文件,也可以使用 MySQLhotcopy 工具、MySQLdump工具。
(2)对于InnoDB引擎表,一般只能使用MySQLdump 将数据导出。然后使用MySQL命令导入到目标服务器上。
新 --》旧:最好使用 MySQLdump 名导出,然后导入目标数据库中。 # 3、不同数据库之间的迁移

04-表的导入和导出

# 1、使用 SELECT ... INTO OUTFILE 导出文本文件
(1)MySQL数据库导出数据时,允许使用包含导出定义的SELECT 语句今次那个数据的导出操作。
(2)该文件被创建到服务器主机上,一次必须拥有文件写入权限(FILE 权限),才能使用此语法。
(3)"SELECT ... INTO OUTFILE 'filename' "形式的SELECT语句可以把被选择的行写入一个文件中,filename 不能是一个已经存在的文件。 基本的语法格式如下:
SELECT columnlist FROM table WHERE condition INTO OUTFILE 'filename' [OPTIONS]
--OPTIONS 选项

10 MySQL之数据备份与恢复的更多相关文章

  1. mysql之数据备份与恢复

    本文内容: 复制文件法 利用mysqldump 利用select into outfile 其它(列举但不介绍) 首发日期:2018-04-19 有些时候,在备份之前要先做flush tables , ...

  2. mysql数据库数据备份与恢复

    备份数据: C:\Users\Administrator>mysqldump -uroot --password -v test01 test02 >e:\temp\\a3.sql Ent ...

  3. Database基础(四):密码恢复及设置、 用户授权及撤销、数据备份与恢复、MySQL管理工具

    一.密码恢复及设置 目标: 本案例要求熟悉MySQL管理密码的控制,完成以下任务操作: 练习重置MySQL管理密码的操作 通过正常途径设置MySQL数据库的管理密码 步骤: 步骤一:重置MySQL管理 ...

  4. 解决 MySQL 比如我要拉取一个消息表中用户id为1的前10条最新数据

    我们都知道,各种主流的社交应用或者阅读应用,基本都有列表类视图,并且都有滑到底部加载更多这一功能, 对应后端就是分页拉取数据.好处不言而喻,一般来说,这些数据项都是按时间倒序排列的,用户只关心最新的动 ...

  5. Mysql 数据备份与恢复,用户创建,授权

    Mysql 数据备份与恢复,用户创建,授权 1. Mysqldump >outfile.sql 2. Mysql –uxxx –pxxx < backfile.sql 3. Create  ...

  6. Mysql备份系列(3)--innobackupex备份mysql大数据(全量+增量)操作记录

    在日常的linux运维工作中,大数据量备份与还原,始终是个难点.关于mysql的备份和恢复,比较传统的是用mysqldump工具,今天这里推荐另一个备份工具innobackupex.innobacku ...

  7. 涂抹mysql笔记-数据备份和恢复

    <>物理备份和逻辑备份<>联机备份和脱机备份<>本地备份和远程备份<>完整备份和增量备份<>完整恢复和增量恢复<>复制表相关文件 ...

  8. 数据备份与恢复 半持久化 全持久化 fork aof rdb Backing up Disaster recovery 备份 容灾

    Redis数据备份与恢复 - 流年晕开时光 - 博客园 https://www.cnblogs.com/deny/p/11531355.html Redis数据备份与恢复 Redis所有数据都是保存在 ...

  9. MySQL mysqldump数据导出详解

    介绍 在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具:它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明 ...

随机推荐

  1. Flask+gevent-websocket模块实现websocket

    后端代码: from flask import Flask,request from geventwebsocket.handler import WebSocketHandler from geve ...

  2. css 之引入自定义字体/特殊字体-----使用ttf格式语言包

    1.准备好需要的 .ttf 格式的语言包,在css导入: @font-face { font-family: myFont; src: url('../assets/font/Oswald-SemiB ...

  3. css 之内容溢出滚动,隐藏滚动条(解决火狐浏览隐藏不了滚动条问题)

    解决火狐浏览隐藏不了滚动条问题 1.里层容器的width多17px,外层容器溢出隐藏,能兼容各个浏览器 .outContainer { width:350px; height:300px; overf ...

  4. 使用python下载图片(福利)

    刚学python 没多久, 代码处处是漏洞,也希望各位大佬理解一下 爬出来的图片... 使用的 是 https://www.tianapi.com/  接口下的 美女图片... (需要自己注册一个账号 ...

  5. Hadoop_19_MapReduce&&Yarn运行机制

    1.YARN的运行机制 1.1.概述: Yarn集群:负责海量数据运算时的资源调度,集群中的角色主要有:ResourceManager.NodeManager Yarn是一个资源调度(作业调度和集群资 ...

  6. Hadoop_17_MapRduce_案例2_实现用户手机流量统计(ReduceTask并行度控制)

    需求:1.统计每一个用户(手机号)所耗费的总上行流量.下行流量,总流量 1.数据如下:保存为.dat文件(因为以\t切分数据,文件格式必须合适) 1363157985066 13726230503 0 ...

  7. 关于pycharm database查看db.sqlites文件提示:Driver class 'org.sqlite.JDBC' not found

    系统重新安装后,启动pycharm存在各种问题,其中一个问题就是在Pycharm中的database里面不能查看sqlite数据库了: 经过一番查找终于找到了问题: 首先问题 是提示这样一个报错: 解 ...

  8. JDBC连接数据库报错:Loading class `com.mysql.jdbc.Driver'. This is deprecated.

    使用JDBC连接数据库时出现报错, 报错内容:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver cla ...

  9. HandlerMethodArgumentResolver完美解决 springmvc注入参数多传报错

    作为一个后端开发,能友好兼容前端参数传入错误等问题,在前端发布不小心多传一个参数导致系统错误的问题,一个广告系统是零容忍的,所以为了不犯错误,后端接收参数必须摒弃spring 的自动注入@Reques ...

  10. go mod 解决 Go 语言的包依赖问题

    转:https://testerhome.com/topics/16980 https://testerhome.com/ -------------------------------------- ...