数据备份和还原
命令行备份
备份结构
- 备份表结构
mysqldump -u root -p -d dbname table1 table2 ... > 1.sql
mysqldump:MySQL数据库导出命令。
-u root:使用root用户连接数据库。
-p:提示输入密码。
-d:导出数据库结构,不包含数据。
dbname:要导出的数据库名。
table1 table2 …:要导出的表名,可以指定一个或多个表。
>:重定向输出,将导出结果保存到文件中。
1.sql:导出文件的文件名为1.sql。
导出的文件没有指定路径会默认保存在根目录下
- 备份数据库的所有表结构
mysqldump -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
- mysqldump -h 127.0.0.1 -u root -p root db_name>path;
- 使用mysqldump 命令备份数据库
- -h指定数据库所在的服务器的ip地址
- -u指定登录数据库的密码
- db_name是要备份的数据库的名称
- 使用输出目标操作符>,指定输出的文件具体路径c:/back.sql
备份表数据
mysql -u root -p -e "selec 语句" dbname > 目标文件名
select * from xxx into outfile ‘/tmp/stud.txt' ;
还原表结构和数据
mysql -u root -p [dbname] < 目标文件 //该命令从指定的文件中导入数据到MySQL数据库中。您需要将[dbname]替换为要导入数据的目标数据库的名称,目标文件是包含数据的SQL文件路径。该命令将会提示输入密码。
mysql -h127.0.0.1 -uroot -proot db_name<back.sql //该命令用于在远程服务器上导入数据。-h参数指定主机地址,-u参数指定用户名,-p参数指定密码,db_name是目标数据库的名称,back.sql是包含数据的SQL文件路径。
load data infile '/tmp/stud.txt' into table students; //该命令用于从文本文件中加载数据到MySQL表。/tmp/stud.txt是包含数据的文本文件路径,students是目标表的名称。
source /backup/all_db_2013-09-08.sql //该命令从指定的SQL文件中导入数据到MySQL数据库中。/backup/all_db_2013-09-08.sql是包含数据的SQL文件路径。