mysql导入库指令_mysql数据库指令导入导出

mysql数据库导出使用  /mysql/bin/mysqldump指令

数据库导出

导出指令:

[mysql安装目录]/bin/mysqldump -u[username] -p[password] -h[host] -P[port] [databaseName] [[tableName1] [tableName2]] > [dirPath][filename].sql

上面指令中中括号里面的内容根据具体情况进行替换,如果是导出本地数据库中且数据库端口为默认3306中的数据,则不需要输入 -h[host] -P[port] 参数。

下面以导出服务器10.102.112.109机器上数据库为例,其中数据库名为:FR_BLOG,数据库端口为:7712,用户名:admin,密码:adminpass

//导出整个数据库数据[mysql安装目录]/bin/mysqldump -uadmin -padminpass -h10.102.112.109 -P7712 FR_BLOG > /home/mysqldump/FR_BLOG.sql

//导出其中一个表:比如bl_user表[mysql安装目录]/bin/mysqldump -uadmin -padminpass -h10.102.112.109 -P7712 FR_BLOG bl_user > /home/mysqldump/bl_user.sql

按条件导出数据

有时候我们不需要导出一张表中的所有数据,mysqldump也提供了按条件导出的功能,--where(或者-w)="condition"

例如,我们要导出上述bl_user表中userid大于1000的数据,可以用如下指令:

[mysql安装目录]/bin/mysqldump -uadmin -padminpass -h10.102.112.109 -P7712 FR_BLOG bl_user --where="userid>1000" > /home/mysqldump/bl_user.sql

导入:

数据库导入一般使用source指令,首先需要登录数据库,还以上述数据库为例,假设我们在数据库中新建了一个库名为:FR_BLOG_BACKUP,然后想把上述导出的bl_user.sql数据导入该库中,指令如下:

//首先需要登录数据库[mysql安装目录]/bin/mysql -uadmin -padminpass -h10.102.112.109 -P7712//然后切换到我们要导入数据的库

mysql> useFR_BLOG_BACKUP;//导入数据

mysql> source /home/mysqldump/bl_user.sql

备注:

这个方法导入大批量数据也是没问题的,但是在实践中发现在进行大量数据导入的时候,可能需要对导出的.sql文件进行简单的修改,我在项目中试过7G数据的转存,第一次导入成功了,后来每次再导入都会导致整个服务器的数据库LOCK,而且数据不能导入,后来发现.sql文件中有一行为:  LOCK TABLES `page_view` WRITE;

这是为了较快的写入数据而锁表操作,但是在导入的时候却导致了插入失败,而且影响其他数据库的使用,随意最好把这句注释掉,因为.sql文件太大,用vim打开基本上是不可能的,可以使用下面的指令修改:

sed -i "[linenum]s/LOCK/--LOCK/1" [filename].sql

其中  [linenum]  是 LOCK TABLES `page_view` WRITE; 所在行的行号, [filename] 为要修改的.sql文件

[linenum] 可以使用head指令查看, head -n [num] [filename].sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值