备份结构
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客户端,直接在本地执行
还原:先登录-->再选择目标数据库--》在执行 source C:/Users/Andrew/Desktop/sqlbak/test.txt; 记住一定是左斜杠