MySQL导入文件/数据库命令

时间:2020-01-09 10:42:43  来源:igfitidea点击:

在Linux或者UNIX等操作系统上,如何导入存储在mysqldump命令创建的.sql文件中的数据?
如何使用基于bash shell的命令行选项还原mysql数据库备份?

mysqldump命令行客户端是一个备份程序,可用于转储数据库(备份数据库)或者数据库集合以进行备份或者传输到另一台SQL服务器。
转储通常包含用于创建表,填充表或者两者的SQL语句。

mysqldump的常见用法是对整个数据库进行备份:

mysqldump db_name > backup-db_name.sql
mysqldump -u userNameHere db_name > backup-db_name.sql
mysqldump -u userNameHere -p db_name > backup-db_name.sql

您可以使用mysql命令导入这样的文件。

语法

导入mysqldump命令创建的数据的语法如下:

mysql -u {DB-USER-NAME} -p {DB-NAME} < {db.file-name.sql}
mysql -u {DB-USER-NAME} -h {MySQL-SERVER-HOST-NAME} -p {DB-NAME} < {backup.db.file-name.sql}
mysql -e "source /path/to/backup-db.sql" db_name_here
mysql -u DB_USER_NAME -p -e "source /path/to/backup-db.sql" db_name_here

示例:将转储文件重新加载到服务器中

在此示例中,为salesdb1用户和销售数据库导入(还原)名为sales.sql的文件,执行:

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

如果数据库salesdb1不存在,请首先创建它,然后按如下所示导入它:

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

您还可以使用以下语法将转储文件加载回服务器:

##############################################
## DB Name: sales
## DB User: salesdb1
## DB backup file (import file name): /root/sales.sql 
##############################################
mysql -e "source /root/sales.sql" sales
mysql -u salesdb1 -p  -e "source /root/sales.sql" sales

请注意,大型.sql数据库导入可能需要一些时间才能完成工作。
切勿将导入文件存储在/tmp中或者从/tmp /文件夹中导入.sql文件。