MySQL心得8-1-使用客户端程序备份和恢复(二)
dump程序备份的文件中存储的是SQL语句的集合,用户可以将这些语句还原到服务器中以恢复一个损坏的数据库。
例:假设XSCJ数据库损坏,用备份文件将其恢复。
备份XSCJ数据库的命令为:
mysqldump -uroot -p123456 XSCJ>XSCJ.sql
恢复命令为:
mysql -uroot -p123456 XSCJ
2). 使用mysqlimport恢复数据
mysqlimport客户端可以用来恢复表中的数据,它提供了LOADDATA INFILE语句的一个命令行接口,发送一个LOAD DATA INFILE命令到服务器来运作。它大多数选项直接对应LOAD DATA INFILE语句。
mysqlimport命令格式为:
mysqlimport [options] db_name filename ...
说明:options是mysqlimport命令的选项,使用mysqlimport -help即可查看这些选项的内容和作用。常用的选项为: www.2cto.com
-d,--delete:在导入文本文件前清空表格。
- -lock-tables:在处理任何文本文件前锁定所有的表。这保证所有的表在服务器上同步。而对于InnoDB类型的表则不必进行锁定。
--low-priority,--local,--replace,--ignore:分别对应LOAD DATA INFILE语句的LOW_PRIORITY,LOCAL,REPLACE,IGNORE关键字。
对于在命令行上命名的每个文本文件,mysqlimport剥去文件名的扩展名,并使用它决定向哪个表导入文件的内容。例如,“patient.txt”、“patient.sql”和“patient”都会被导入名为patient的表中。所以备份的文件名应根据需要恢复表命名。
例: 恢复XSCJ数据库中表XS的数据,保存数据的文件为XS.txt,命令如下:mysqlimport -uroot -p123456 --low-priority n --replace XSCJ XS.txt
mysqlimport也需要提供-u、-p选项来连接服务器。值得注意的是,mysqlimport是通过执行LOAD DATA INFILE语句来恢复数据库的,所以上例中备份文件未指定位置的默认是在MySQL的DATA目录中。如果不在则要指定文件的具体路径。
2). 使用mysqlimport恢复数据
mysqlimport客户端可以用来恢复表中的数据,它提供了LOADDATA INFILE语句的一个命令行接口,发送一个LOAD DATA INFILE命令到服务器来运作。它大多数选项直接对应LOAD DATA INFILE语句。
mysqlimport命令格式为:
mysqlimport [options] db_name filename...
说明:options是mysqlimport命令的选项,使用mysqlimport -help即可查看这些选项的内容和作用。常用的选项为:
-d,--delete:在导入文本文件前清空表格。
--lock-tables:在处理任何文本文件前锁定所有的表。这保证所有的表在服务器上同步。而对于InnoDB类型的表则不必进行锁定。 www.2cto.com
--low-priority,--local,--replace,--ignore:分别对应LOAD DATA INFILE语句的LOW_PRIORITY,LOCAL,REPLACE,IGNORE关键字。
对于在命令行上命名的每个文本文件,mysqlimport剥去文件名的扩展名,并使用它决定向哪个表导入文件的内容。例如,“patient.txt”、“patient.sql”和“patient”都会被导入名为patient的表中。所以备份的文件名应根据需要恢复表命名。
例: 恢复XSCJ数据库中表XS的数据,保存数据的文件为XS.txt,命令如下:mysqlimport -uroot -p123456 --low-priority --replace XSCJ XS.txt
mysqlimport也需要提供-u、-p选项来连接服务器。值得注意的是,mysqlimport是通过执行LOAD DATA INFILE语句来恢复数据库的,所以上例中备份文件未指定位置的默认是在MySQL的DATA目录中。如果不在则要指定文件的具体路径。
作者 tianyazaiheruan