【MySQL】30 备份与恢复
1、备份命令:
mysqldump -u用户名 -p 密码 -h 服务主机IP -P 端口号 \ 数据库名称 \ > 指定备份的sql脚本文件位置 ↓
# 文件位置样例: # C:\Users\administrator\backup-mysql\mysql-bak.sql
如果不想备份整个数据库,而是库中的几个表,可以:
mysqldump -u用户名 -p 密码 -h 服务主机IP -P 端口号 \ 数据库名称 表1,表2,表3 ... \ > 指定备份的sql脚本文件位置 ↓
# 文件位置样例:
# C:\Users\administrator\backup-mysql\mysql-bak.sql
2、恢复命令:
mysqldump -u用户名 -p 密码 -h 服务主机IP -P 端口号 \ 数据库名称 \ < 指定备份的sql脚本文件位置 ↓
# 文件位置样例:
# C:\Users\administrator\backup-mysql\mysql-bak.sql
3、使用文件方式备份MySQL数据库:
1、备份之前一定要停止MySQL服务!!!
2、对InnoDB存储引擎的数据库不适用
复制data目录即实现数据库备份,因为对InnoDB不支持的原因,此方法可以弃用!
4、以表数据形式导出到普通的txt文本文件
也就是将查询的结果输出到一个文本文件中。
SELECT 语句 INTO OUTFILE '文件位置'
# 样例: # C:\Users\administartor\bak-up\mysql\table-xxx.txt
为了提高导出文本的可读性,该SQL输出语句还提供一系列的参数选项
FIELDS TERMINATED BY '你所指定的分隔符' 设置字段之间的分隔符,默认'\t' FIELDS[OPTIONALLY] ENCLOSED BY '你所指定的字符符号?' 设置字段值的字符符号,如果使用OPTIONALLY参数, 只有CHAR & VARCHAR等字符数据包括,默认不使用符号 FIELDS ESCAPED BY '你所指定的转义符号' 设置转义字符的字符符号,默认使用'\'
- - - - - - - - - - - - - - - - - - - - - - - - - - -
LINES STARTING BY '你所指定的行的起始字符' 每行的开头字符设置,默认不使用 LINES TERMINATED BY '你所指定的行的结束字符' 默认使用 '\n'
对行与字段使用多个参数选项设置时,可以合并起来书写:
SELECT ... INTO OUTFILE '文件位置' FIELDS 字段设置项1 字段设置项2 ... LINES 行设置项1 行设置项2 ...
5、导入文本数据表数据
LOAD DATA INFILE '文件位置' INTO TABLE 数据表名称 [OPTION]
同样的,选项参数就是对应了上述导出设置参数的内容