设为首页 收藏本站
查看: 741|回复: 0

[经验分享] 用命令 从mysql中 导出/导入数据以及导入导出表结构。(较大数据库的导入导出,速度快)

[复制链接]

尚未签到

发表于 2016-10-23 09:54:16 | 显示全部楼层 |阅读模式
  
在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看:
mysqldump
最常用的:
mysqldump -u root -proot db_cetv table1 table2 > foo.sql
这样就可以将数据库db_cetv的表table1,table2以sql形式导入foo.sql中,其中-uroot参数表示访问数据库的用户名是root,如果有密码还需要加上-p参数
 
 
eg:
mysqldump-u root -proot db_cetv > D:\db_cetv.sql
这个就将db_cetv 导出在D盘的根目录 。。。
 
mysql的数据较大数据库的导入(这个要比source导入要快)如:
window下cmd:   mysql -u root -proot db_cetv < D:\db_cetv.sql
这样就可以将db_cetv.sql的数据全部导入数据库db_cetv
 
  
  1.导出整个数据库
  mysqldump -u 用户名 -p密码  数据库名 > 导出的文件名
  C:\Users\sun> mysqldump -u root -proot db_cetv> e:\db_cetv.sql
  
  2.导出一个表,包括表结构和数据
  mysqldump -u用户名 -p 密码  数据库名 表名> 导出的文件名
  C:\Users\sun> mysqldump -u root -proot db_cetv  t_users> e:\users.sql
  
  3.导出一个数据库结构(  -d  指令,  可以在cmd内, 输入mysqldump --help 查看了解一下)
  C:\Users\sun> mysqldump -u root -proot  -d  db_cetv  > e:\db_cetv_d.sql
  
  4.导出一个表,只有表结构
  mysqldump -u 用户名 -p 密码 -d数据库名  表名> 导出的文件名
  C:\Users\sun> mysqldump -u root -proot  -d  db_cetv   db_users > e:\db_cetv_users_d.sql
  
  
  5.导入数据库
  常用source 命令
  进入mysql数据库控制台,
  如mysql -u root -p
  mysql>use 数据库
  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
  mysql>source d:/db_cetv.sql
  
  
  好了,总结一下。
  1:(看一下文件有哪些不同处,除了 mysql 和mysqldump之外 ,  还有 导出是 >小于号 ,导入是< 大于号,呵呵,希望别混了)
  导入:mysql -u root -proot db_cetv < D:/db_cetv.sql
  导出:①mysqldump -u root -proot db_cetv >D:/db_cetv.sql
  以上两种都是 速度较快的导入导出
  另一个导入方式:
  ②cmd进入
  mysql -u root -proot(登入mysql)
  use 你的数据库名(如果数据库不在,先创建 语句:create database 库名 charset=utf8;)
  sourcesql所在路径
  回车
  以下(网摘)了一部分
  
  MySQL导出的SQL语句在导入时有可能会非常非常慢,在处理百万级数据的时候,可能导入要花几小时。在导出时合理使用几个参数,可以大大加快导 入的速度。
    -e 使用包括几个VALUES列表的多行INSERT语法;
    --max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小;
    --net_buffer_length=XXX TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行。
    注意:max_allowed_packet 和 net_buffer_length 不能比目标数据库的设定数值 大,否则可能出错。
    首先确定目标数据库的参数值
    mysql> show variables like 'max_allowed_packet';
    mysql> show variables like 'net_buffer_length';
    根据参数值书写 mysqldump 命令,如:
    # mysqldump -uroot -p123 21andy -e --max_allowed_packet=16777216 --net_buffer_length=16384 > 21andy.sql
    OK,现在速度就很快了,主要注意的是导入和导出端的 max_allowed_packet 和 net_buffer_length 这2个参数值设定,弄大点就OK了
    其实,最快的方法,是直接COPY数据库目录,不过记得先停止 MySQL 服务



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-290124-1-1.html 上篇帖子: mysql做update时有in关联子查询条件时效率奇慢分析 下篇帖子: MySQL 5.1新特性之事件调度器(Event Scheduler)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表