例如:需要还原的数据库脚本文件为test.sql,脚本中已包含数据库的创建,test.sql所在目录为/home

1、常用source命令

进入mysql数据库控制台,如mysql -uroot -p密码

mysql > source /home/test.sql;

2、使用mysqldump命令

mysqldump -uroot -p 数据库名 < /home/test.sql  (无需进入mysql数据库控制台)

3、使用mysql命令

mysql -uroot -p 数据库名 < /home/test.sql  (无需进入mysql数据库控制台)

MySQL导出的SQL语句在导入时有可能会非常非常慢,经历过导入仅45万条记录,竟用了近3个小时。在导出时合理使用几个参数,可以大大加快导入的速度。

-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';

也可在/etc/my.cnf中进行这两项参数的配置,如配置文件中这两项参数分别为:

max_allowed_packet = 64M

net_buffer_length = 16384

根据参数值书写mysqldump命令进行数据库的导出

mysqldump -uroot -p 数据库名   -e --max_allowed_packet=67108864 --net_buffer_length=16384 > SQL文件

使用该sql文件进行还原,之前2小时才能导入的sql现在不到一分钟就可导入完成。

注意:

尽量避免用navicat或SQLyogEnt等客户端备份数据库

使用navicat或SQLyogEnt等客户端备份的数据库脚本,进行还原时有多少条就inser into多少次

而使用用 mysqldump 工具导出的,进行还原时inser into方式不同,如下所示:

另外,source命令在导入时,如果一次性插入的数据太多,mysql会自动优化,拆开多次插入。

这样效率会快很多。

mysql数据库的还原及常见问题解决的更多相关文章

  1. MySQL数据库备份还原(基于binlog的增量备份)

    MySQL数据库备份还原(基于binlog的增量备份) 一.简介 1.增量备份      增量备份 是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味 ...

  2. (转载)MySQL数据库的几种常见高可用方案

    转自: https://yq.aliyun.com/articles/74454   随着人们对数据一致性的要求不断的提高,越来越多的方法被尝试用来解决分布式数据一致性的问题,如MySQL自身的优化. ...

  3. MySQL数据库备份还原

    本文以CentOS 7 yum安装的MariaDB-server5.5为例,说明MySQL的几种 备份还原方式 将服务器A(192.168.1.100)上的数据库备份,还原到B(192.168.1.2 ...

  4. 阿里云mysql数据库备份还原

    1.下载备份包 在rds的备份恢复中点击下载,在弹出的窗口中复制内网下载地址(前提是目标服务器与rds内网互通,否则请复制外网地址) 在目标服务器中执行如下命令进行下载: wget -c '复制的地址 ...

  5. [MySql] - 数据库备份还原

    导出数据库到SQL方法: mysqldump.exe -u[USERNAME] -p[PASSWORD] -h [IP] jira --lock-all-tables > c:\db.sql m ...

  6. MySQL数据库安装保姆教程及问题解决

    使用Mysql的zip压缩包解压版,下载之后需进行一定的配置,才能使用它. 下面对Mysql压缩包版的安装方法进行详细的描述,如有疑问或错误,望及时反馈. 首先,mysql的官方下载地址点我进行下载 ...

  7. 使用mysqldump进行mysql数据库备份还原

    mysqldump是mysql自带的备份还原工具,默认在安装目录的bin下 可通过cmd命令行启动,然后运行: 还原一个数据库: mysql -h 主机 -u 用户名 -p密码 数据库名 < 指 ...

  8. Linux下的Mysql数据库备份+还原

    数据库备份: root@debian-mm:/home/debian-mm# mysqldump -u root -p Account > Account.sql Enter password: ...

  9. mysql数据库的安装以及常见优化设置

    原文请详见:http://www.ucai.cn/blogdetail/7036?mid=1&f=5 能够在线执行查看效果哦! 本文依据优才网课程整理,面向web开发人员,内容以有用为主,专业 ...

随机推荐

  1. nodejs入门API之fs模块

    fs模块下的类与FS常量 fs模块下的主要方法 fs的Promise API与FileHandle类 一.fs模块下的类 1.1 fs.Dir:表示目录流的类,由 fs.opendir().fs.op ...

  2. 使用的jQuery加载源的优势【问题】

    [问题]使用的jQuery加载源的优势? [答案]许多用户在访问其他站点时,已经从谷歌或微软加载过 jQuery.所有结果是,当他们访问您的站点时,会从缓存中加载 jQuery,这样可以减少加载时间. ...

  3. JQuery的事件处理、Jason

    事件的处理: <body> <div id="aa" style="width:100px; height:100px; background-colo ...

  4. day12-python之深灰魔法

    #######################################灰魔法: list类中提供的方法   列表####################################### ...

  5. harbor小结

    1.harbor是什么? docker容器是集装箱,harbor就是放集装箱的港湾. docker工具下有:①自带镜像库房:image      ②容器管理清单 :container     ③doc ...

  6. 面试想拿20K,HR说你只值10K,这个时候你该怎样回答或者反驳

    正确的做法是: 不动声色,继续跟HR谈下去.把面试流程走完,并且争取拿到这个10K的offer. 这里有一个小技巧: 如果拿到offer,礼貌地跟HR表示感谢,不过不要马上入职.可以找个由头,比方说自 ...

  7. idou老师教你学Istio 08: 调用链埋点是否真的“零修改”?

    本文将结合一个具体例子中的细节详细描述Istio调用链的原理和使用方式.并基于Istio中埋点的原理解释来说明:为了输出一个质量良好的调用链,业务程序需根据自身特点做适当的修改,即并非官方一直在说的完 ...

  8. springboot中使用cache和redis

    知识点:springboot中使用cache和redis (1)springboot中,整合了cache,我们只需要,在入口类上加 @EnableCaching 即可开启缓存 例如:在service层 ...

  9. Nginx中ngx_http_proxy_module模块

    该模块允许将请求传递给另⼀一台服务器器指令:1 ,proxy_pass设置代理理服务器器的协议和地址以及应映射位置的可选 URI .作为协议,可以指定“ http 或 https .可以将地址指定为域 ...

  10. 2019牛客多校第三场D BigInteger——基础数论

    题意: 用  $A(n)$ 表示第 $n$ 个只由1组成分整数,现给定一个素数 $p$,求满足 $1 \leq i\leq n, 1 \leq j \leq m, A(i^j) \equiv 0(mo ...