mysql数据的备份与还原_mysql数据库的备份与还原

备份结构

1.备份表结构

mysqldump -u root -p -d dbname table1 table2 ... > a.sql

2.备份数据库的所有表结构

mysqldumo -u root -p -d dbname > b.sql

3.备份多个数据库的所有表结构

mysqldump -u root -p -d --databases db1 db2... > c.sql

4.备份所有数据库的表结构

mysqldump -u root -p -d --all-databases > d.sql

备份结构和数据(相当于在备份结构的语法上去掉-d选项)

1.备份表结构和数据

mysqldump -u root -p dbname table1 table2 ... > a.sql

2.备份数据库的所有表结构和数据

mysqldump -u root -p dbname > b.sql

3.备份多个数据库的表结构和数据

mysqldump -u root -p --databases db1 db2 > c.sql

4.备份所有数据库的表结构和数据

mysqldump -u root -p --all-databases > d.sql

备份表数据

select ... into outfile

select [列名] from table [where 语句] into outfile '目标文件' [options]

目标文件必须是字符串形式

options是设置导出文件的一些格式;

fields terminated by '字符串':多个字段值之间的分隔符,默认是'\t'

fields enclosed by '字符串':用给定的字符来包围字段值,默认不需要

fields optionally enclosed by '字符串':用给定的字符包围文本类型的字段值,默认不需要

fields escaped by '字符串':设置转义字符,默认为"\"

lines starting by '字符串':每条记录的开始字符,默认没有

lines terminated by '字符串':每条记录的结束符,默认是换行符

select * from pmx.score2 where 1 into outfile '/Users/pmx/Sites/a.txt'

select * from pmx.score2 where 1 into outfile '/Users/pmx/Sites/a.txt' fields terminated by '|' enclosed by '"' optionally enclosed by '@' lines starting by '^' terminated by '$' ;

还原表结构和数据

mysql -u root -p [dbname] < 目标文件

如果目标文件中有创建数据库的语句,则dbname省略

还原表数据

load data infile命令

load data [local] infile file into table table_name [options]

备份以及还原操作:

需要注意的是,该操作不需要登录mysql客户端,直接在本地执行,同时路径也是本地磁盘路径,为右斜杠 \

备份数据:使用mysqldump命令将suppliers表备份到文件C:\bktestdir\suppliers_bk.sql。

mysqldump -u root -p test suppliers > C:\bktestdir\suppliers_bk.sql

注意,以下操作需要登陆mysql客户端,源文件路径为左斜杠 /

还原表数据:使用mysql命令还原suppliers表到test数据库中;

DELETE FROM suppliers;

source C:/bktestdir/suppliers_bk.sql;

备份数据方法2:使用SELECT… INTO OUTFILE语句导出suppliers表中的记录,导出文件位于目录C:\bktestdir下,名称为suppliers_out.txt

SELECT * FROM test.suppliers INTO OUTFILE "C:/bktestdir/suppliers_out.txt"

FIELDS

TERMINATED BY ','

ENCLOSED BY '\"'

LINES

STARTING BY '

TERMINATED BY '>\r\n';

还原数据:使用LOAD DATA INFILE语句导入suppliers_out.txt数据到suppliers表。

LOAD DATA INFILE 'C:/bktestdir/suppliers_out.txt' INTO TABLE test.suppliers

FIELDS

TERMINATED BY ','

ENCLOSED BY '\"'

LINES

STARTING BY '

TERMINATED BY '>\r\n';

数据导出:使用musqldump命令将suppliers表中的记录导出到文件C:\bktestdir\suppliers_html.html。

mysql -u root -p --html --execute="SELECT * FROM suppliers;" test > C:/bktestdir/suppliers_html.html

实际操作:备份数据库test 外部文件test.txt中 需要注意的是,该操作不需要登录mysql客户端,直接在本地执行

7b94a7bcacc2d9ac33c9b87542326e30.png

还原:先登录-->再选择目标数据库--》在执行  source C:/Users/Andrew/Desktop/sqlbak/test.txt;  记住一定是左斜杠

e0546d2c4ca1c8179dda771f8f7f0134.png

91ce7dc23f1b145f095ba80e5f317498.png

标签:备份,mysql,数据库,mysqldump,sql,root,suppliers

来源: https://www.cnblogs.com/Andrew520/p/11962730.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值