18.1 数据备份

可能造成数据损失的原因有:

  • 存储介质故障:保存数据库文件的磁盘设备损坏,用户没有数据库备份导致数据彻底丢失。
  • 用户的错误操作:如误删了某些重要数据,甚至整个数据库。
  • 服务器的彻底瘫痪:如数据库服务器彻底瘫痪,系统需要重建。

1. 复制数据文件(只适合存储引擎为MyISAM的表)

2. mysqldump

  1) 备份一个数据库

mysqldump -u username -p dbname
table1 table2 …tablen //如果没有参数table,表示备份整个数据库
> backupname.sql

  2) 备份多个数据库

mysqldump -u username -p --databases
dbname1,dbname2,...,dbnamen
> backupname.sql

  3) 备份所有数据库

mysqldump -u username -p --all -databases
> backupname.sql

18.2 数据还原

1. 复制数据文件 (只适合存储引擎为MyISAM的表)

利用18.1.1中的备份文件将MySQL数据库服务器还原到备份时的状态。注意这种方式必须保证两个MySQL数据库的主版本号一致,才能保证两个MySQL数据库的文件类型是相同的。

2. mysqldump

mysqldump -u username -p [dname]<backupname.sql

18.3 实现数据库表导出到文本文件

通过数据库表的导出和导入操作,可以在MySQL数据库服务器与其他数据库服务器间(SQL SERVER、ORACLE)轻松移动数据。

1. SELECT ... INTO OUTFILE

SELECT [file_name] FROM table_name
[WHERE condition]
INTO OUTFILE 'file_name'[OPTION]

 

OPTION 可以是下面6个值的任何一个。

  • FIELDS TERMINATED BY 'string':用来设置字段的分割符为字符串对象(string),默认值为"\t"。
  • FIELDS ENCLOSED BY 'char':用来设置括上字段值的字符符号,默认情况下不使用任何符号。
  • FIELDS OPTIONALLY ENCLOSED BY 'char':用来设置括上CHAR/VARCHAR/TEXT等字段值的字符符号,默认情况下不使用任何符号。
  • FIELES ESCAPED BY 'char':用来设置转义字符的字符符号,默认情况下使用"\"字符。
  • LINES STARING BY 'char':用来设置每行开头的字符符号,默认情况下不使用任何符号。
  • LINES TERMINATED BY 'string':用来设置每行结束的字符串符号,默认情况下使用"\n"字符串。

2. mysqldump

mysqldump -u root -pPassword -T file_directory dbname table_name[OPTION];

OPTION 可以是下面4个值的任何一个。

  • --fields-terminated-by=string:用来设置字段的分割符为字符串对象(string),默认值为"\t"。
  • --fields-enclosed-by=char:用来设置括上字段值的字符符号,默认情况下不使用任何符号。
  • --fields-optionally-enclosed-by=char:用来设置括上CHAR/VARCHAR/TEXT等字段值的字符符号,默认情况下不使用任何符号。
  • --lines-terminated-by=string:用来设置每行结束的字符串符号,默认情况下使用"\n"字符串。

3. mysql

mysql -u root -pPassword -e "SELECT [file_name] FROM table_name" dbname>file_name;

MYSQL数据库学习十八 数据库维护和性能提高的更多相关文章

  1. MYSQL数据库学习十六 安全性机制

    16.1 MYSQL数据库所提供的权限 16.1.1 系统表 mysql.user 1. 用户字段 Host:主机名: User:用户名: Password:密码. 2. 权限字段 以“_priv”字 ...

  2. MYSQL数据库学习十五 事务

    15.1 事务概述 当多个用户访问同一份数据,一个用户在更改数据的过程中可能有其他用户同时发起更改请求,为保证数据库记录的更新从一个一致性状态变为另一个一致性状态,使用事务处理是非常必要的. 事务有以 ...

  3. MYSQL数据库学习十四 存储过程和函数的操作

    14.1 为什么使用存储过程和函数 一个完整的操作会包含多条SQL语句,在执行过程中需要根据前面SQL语句的执行结果有选择的执行后面的SQL语句. 存储过程和函数的优点: 允许标准组件式编程,提高了S ...

  4. MYSQL数据库学习十二 使用MySQL运算符

    12.1 算术运算符 + - * /(DIV) %(MOD) 12.2 比较运算符 > < = <=> != <> >= <= BETWEEN AND ...

  5. MYSQL数据库学习十 单表数据记录查询

    10.1 简单数据记录查询 SELECT field1,field2,...fieldn FROM table_name; “*” ——查询所有记录 SELECT * FROM table_name; ...

  6. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  9. Mysql数据库学习笔记之数据库索引(index)

    什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...

随机推荐

  1. java I/O框架 (一)总览

    一.前言 java io框架非常庞大,各种功能的类让人目不暇接,为了系统学习io框架,搜集了各种资料,整理出这篇文章,尽可能详细的讲述java io框架,其中会牵扯到许多信息,不仅包括框架内各种类的方 ...

  2. 5.2 TLP的路由

    TLP的路由是指TLP通过Switch或者PCIe桥片时采用哪条路径,最终到达EP或者RC的方法.PCIe总线一共定义了三种路由方法,分别是基于地址(Address)的路由,基于ID的路由和隐式路由( ...

  3. eclipse中maven的run as打war包失败的问题

    场景一: 由于某些原因,有的时候需要暂时在断网的情况下,或者更标准的说,是在连不上公司的maven公有仓库的情况下打包. 很长一段时间,我打包都是在eclipse中用run as在线打包,直到前不久一 ...

  4. jquery回调函数的一个案例

    1.引言 今天在学习<jQuery基础教程>在学习编写插件的时候,书中说利用回调函数来当参数,会极大的提高程序的灵活性.对回调函数很陌生.研究了一下给的示例程序.感觉对回调函数有了基本的了 ...

  5. 《CLR Via C#》学习--线程开销

    线程内核对象(thread kernel object) OS为系统中创建的每个线程都分配并初始化这种数据结构之一.在该数据结构中,包含一组对线程进行描述的属性. 数据结构中还包含所谓的线程上下文(t ...

  6. C# 图解教程 第三章 类型、存储和变量

    类型.存储和变量 C#程序是一组类型声明类型是一种模板实例化类型数据成员和函数成员预定义类类型用户定义类型栈和堆 栈堆 值类型和引用类型 存储引用类型对象的成员C#类型的分类 变量静态类型和dynam ...

  7. SpringMVC 框架系列之初识与入门实例

    微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.SpringMVC 概述 (1). MVC:Model-View-Control Contr ...

  8. 洛谷P2633 Count on a tree(主席树,倍增LCA)

    洛谷题目传送门 题目大意 就是给你一棵树,每个点都有点权,每次任意询问两点间路径上点权第k小的值(强制在线). 思路分析 第k小......又是主席树了.但这次变成树了,无法直接维护前缀和. 又是树上 ...

  9. java输出日志

    protected final Logger logger = Logger.getLogger(User.class); logger.info("在控制台中打印的内容");

  10. Nginx 配置对流量、连接和请求的限制

    首先给出配置段: http { limit_conn_zone $binary_remote_addr zone=one:10m; limit_req_zone $binary_remote_addr ...