MySQL入门很简单: 13 数据备份和还原

1. 数据备份

1)使用mysqldump命令备份

第一种:备份一个数据库

mysqldump -u username -p dbname table1 table2 ...  > BackupName.sql

注: dbname表示数据库的名称;
     table1和table2表的名称 ,不加该参数备份整个数据库;
     BackupName.sql备份系统的名称

第二种:备份多个数据库

mysqldump -u username -p --databases dbname1 dbname2 ...  > BackupName.sql

第三种:备份所有数据库

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

2)直接复制整个数据库目录

  需要停止MySQL服务器

3)使用mysqlhotcopy工具快速备份

2. 数据还原

1)使用mysql命令还原

备份文件中包含CREATE语句和INSERT语句,mysql命令可以通过CREATE创建数据率和表,通过INSERT插入备份的数据

mysql -u root -p [dbname] < backup.sql

2)直接复制到数据库目录

3. 数据库迁移

1)相同版本的MySQL数据库之间的迁移

  先备份再迁移,假设从host1的及机器中备份所有数据,再将数据率迁移到host2的机器上

mysqldump -h name1 -u root --password=password1 --all-databases | mysql -h host host2 -u  root --password=password2

2)不同版本的MySQL数据库之间的迁移: mysqldump

3)不同数据库之间的迁移: MS SQL Server等工具 或 dump出sql语句手工修改

4. 导出和导入文本文件

1)SELECT... INTO OUTFILE导出文本文件

SELECT [列名] FROM table [WHERE 语句]
INTO OUTFILE ‘目标文件‘ [OPTION];

2)mysqldump命令导出文本文件

mysqldump -u root -pPassword -T 目标目录 dbname table [option]

3)使用mysql命令导出

mysql -u root -pPassword -e " SELECT语句“ dbname > C:/name.txt;

mysql -u root -pPassword  --xml | -X -e " SELECT语句“ dbname > C:/name.xml;

mysql -u root -pPassword  --html | -H -e " SELECT语句“ dbname > C:/name.html;

4)使用LOAD DATA INFILE 方式导入文本文件

LOAD DATA [LOCAL] INFILE file INTO TABLE table [OPTION];

5)使用mysqlimport命令导入文本文件

mysqlimport -u root -pPassword [-LOCAL] dbname file [OPTION]
时间: 2024-12-08 11:03:55

MySQL入门很简单: 13 数据备份和还原的相关文章

MySQL入门很简单: 15 java访问MySQL数据库

1. 连接数据库 1.1 下载安装驱动 java通过JDBC(Java Database Connectivity,Java数据库连接)来访问MySQL数据库.JDBC的编程接口提供的接口和类与MySQL数据库建立连接,然后将SQL语句的执行结果进行处理. 1)下载MySQL Connector/J驱动 http://dev.mysql.com/downloads/file/?id=460363 2)MyEclipse导入JDBC驱动 Window|Perference  Path|User L

MySQL入门很简单: 8查询数据

1. 查询语句语法 SELECT 属性列表 FROM 表名和视图列表 [WHERE 条件表达式1] [GROUP BY 属性名1 [HAVING t条件表达式2]] [ORDER BY 属性名2 [ASC| DESC] ] 2. 在单表上查询数据 1)查询所有字段 第一种方法:列出表的所有字段 SELECT num, name, age, sex FROM employee; 第二种方法:使用*查询所有字段 SELECT * FROM 表名 2)查询指定字段 //结果字段与SELECT语句中字段

《MySQL入门很简单》练习10.9

(1)在查询之前,先按照表10.3和表10.4的内容创建student表和score表 首先我创建一个本章的数据库(名字随便取,主要是每个程序猿都不应该被规矩束缚对不对), 之后对照这student表和score表的设计创建,代码如下: (2)按照表10.5和10.6的内容为student表和score表增加记录 本来想偷点懒的,突然遇到这种问题,也是醉了.等我把数据导入进去的时候才恍然大悟,失了智, 中英文的单引号我留意,逗号反而忘了切换,由此可见,经验是得积累的,遇到问题漠慌,解决问题的途径

《MySQL入门很简单》练习6.5

第一步:win+R输入cmd,打开命令行窗口输入mysql -h 127.0.0.1 -u root -p 第二步:查看数据库中是否存在example数据库若存在则先备份再删除,之后创建数据库,输入CREATE DATABASE example; 在SHOW DATABASES;来确认数据库是否创建成功.- 第三步:创建student和grade两张表,首先USE example;来选中example数据库, 对照这需要设计的两张表来输入对应的sql语句 创建表很容易遗漏条件所以得细心的审核,上

MySQL入门很简单: 2 MySQL数据类型

2. MySQL数据类型 2.1 整数类型 后面的是默认显示宽度: tinyint(4) smallint(6) mediumint(9) int(11) bigint(20) 2.2 浮点型和定点数类型 MySQL可以指定浮点数和定点数的精度:    数据类型(M,D)  M:数据总长度, D:小数点后的长度

MySQL入门很简单-触发器

1.触发器是由事件来触发某个操作,这些事件包括insert语句.update语句和delete语句.当数据库系统执行这些事件时,会激活触发器执行相应操作.MySQL从5.0.2开始支持触发器.使用触发器可以保证某些操作之间的一致性. 2.创建一个执行语句的触发器 create trigger 触发器名 before|after 触发事件 on 表名 for each row 执行语句; before和after参数指定触发器执行的时间; 触发事件包括insert.update和delete; f

MySQL入门很简单: 5 索引

1. 索引的含义和特点 索引:创建在表上,是对数据库表中一列或多列的值进行排序的一种结构. 存储类型: B性树(BTREE)索引和哈希(HASH)索引: InnoDB和MyISAM支持BTREE索引, MEMORY支持BTREE索引和HASH索引 优缺点:  优点——提高检索数据的速度: 缺点: 创建和维护索引需要耗费时间 2. 索引分类 1)普通索引:不加任何限制条件 2)唯一性索引:使用UNIQUE参数(主键就是一种特殊唯一性索引) 3)全文索引: 使用FULLTEXT参数,只能创建在CHA

《MySQL入门很简单》练习6.6

(1)首先创建数据库school (2)创建teacher表 选中数据库 (3)将teacher表的name字段的数据类型改为VARCHAR(30) (4)将birthday字段的位置改到sex字段的前面 (5)将num字段改名为t_id MySQL中默认是可以为空的,在更改字段名称时要是不写完整性约束就会默认值为NULL (6)将teacher表的address字段删除 (7)在teacher表中增加名为wages的字段,数据类型为FLOAT (8)将teacher表改名为teacherInf

《MySQL入门很简单》练习7.4

(1):查看MySQL中是否存在job数据库 (2)将user表的存储引擎变为i额MyISAM 由于时间匆忙直接看着表就敲SQL语句了,现在看着题目要求慢慢改一下吧 在userid字段上创建名为index_uid的唯一性索引,并且以降序的形式排列 在username和passwd字段上创建名为index_user的多列索引 在info字段上创建名为index_info的全文索引 这几张图片有点长,我是抽空在做的:)作为初学者建议还是多敲SQL语句,只有这样才能做到熟能生巧,但是大神除外. (3)