MySQL命令行方式备份/还原 or 导入导出数据库


因为历史和编码方式的问题(乱码)。在产生的数据库sql文件中有乱码,这样隔断了一些单引号,导致语法出错,通过客户端软件例如SQLYog是无法还原的。而采用命令行的方式可以。主要介绍一个工具,mysqldump在mysql安装目录的bin目录下:

1、导出数据

  1. D:/Program Files/MySQL/MySQL Server 5.1/bin>mysqldump -u root -p user_test > user_test.txt  

-u {用户名} -p {数据库名} > {导出的文件名} 执行命令后会出现 提示输入密码,成功后会在 bin目录下生成user_test.txt这个文件,也可以指定目录。

2、还原到其他地方的数据库

此处用的不是mysqlimport,而是直接 mysql命令。还是在该bin目录下,直接执行下面的命令:

  1. D:/Program Files/MySQL/MySQL Server 5.1/bin>mysql -u root -p user_test < user_test.txt  

也会提示输入密码。

参考:

How do I import data stored in a .sql file (created by mysqldump command) under UNIX or Linux operating systems?

The syntax is as follows to import the data created by mysqldump command:

  1. mysql -u {DB-USER-NAME} -p {DB-NAME} < {db.file.sql}  
  2. mysql -u {DB-USER-NAME} -h {MySQL-SERVER-HOST-NAME} -p {DB-NAME} < {db.file.sql}  

In this example import a file called sales.sql for salesdb1 user and sales db, enter:

  1. $ mysql -u sales -p salesdb1 < sales.sql  

If database salesdb1 does not exists, first create it and than import it as follows:

  1. $ mysql -u root -p -e 'create database salesdb1'  
  2. $ mysql -u sales -p salesdb1 < sales.sql  

相关内容