例如:需要还原的数据库脚本文件为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数据库出错_mysql数据库的还原及常见问题解决相关推荐

  1. mysql binlog 备份_Mysql数据库的增量备份与还原

    一.备份的目的 做灾难恢复:对损坏的数据进行恢复和还原. 二.备份需要考虑的问题 可以接受丢失多少数据: 恢复数据的时间要多久: 恢复数据时是否持续提供服务: 恢复的对象,是一个库,多个表,单个表,还 ...

  2. mysql数据库应用_MySQL数据库应用 从入门到精通 学习笔记

    以下内容是学习<MySQL数据库应用 从入门到精通>过程中总结的一些内容提要,供以后自己复现使用. 一:数据库 查看所有数据库:SHOW DATABASES 创建数据库:CREATE DA ...

  3. mysql数据库财务_MySQL数据库——从入门到删库跑路(二)

    DQL 查询表中的记录 select .... from ..... 语法 select 需要查询的信息(列名1,列名2,.......列名n) / * from 表名 [where 条件]; 完善下 ...

  4. mysql数据库套件_MySQL数据库管理开发套件(EMS SQL Management Studio For MySQL)下载 v1.3.0.46170 官方版 - 比克尔下载...

    EMS SQL Management Studio For MySQL是一个强大的MySQL数据库管理和开发套件,由很多工具组成,涉及MySQL数据库管理.导入.导出.迁移.测试.备份.比较.同步等数 ...

  5. mysql备库命令_mysql数据库备份命令

    备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库 ...

  6. mysql数据库自学_MySQL数据库自学

    MySQL数据库自学序言 亲爱的自己和各位读者朋友: 您们好! 这是作者本人自学Java编程开发的一系列文章,不具有一定的权威性,也算是自己一个人的学习笔记和总结,希望自己通过博客的形式将我自己的学习 ...

  7. mysql数据库语言_mysql数据库sql语句基础知识

    1.数据库操作 查看当前数据库 SELECT DATABASE(); 显示用户名,数据库版本 SELECT user(), version(); 创建库 CREATE DATABASE[ IF NOT ...

  8. mysql数据库管理程序_mysql数据库之日常管理

    分类:DDL―数据定义语言(CREATE,ALTER,DROP,DECLARE)DML―数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL―数据控制语言(GRANT,REVO ...

  9. 数据库 mysql详解_MySQL数据库详解

    一.数据库概述 1.数据库与文件系统文件系统对比. 数据冗余和不一致性 数据访问 数据格式相对独立 数据完整性和原子性 数据的并发访问 数据的安全性问题 2.数据库概念 1.DBMS:数据库管理系统 ...

最新文章

  1. [MetalKit]34-Working-with-memory-in-Metal内存管理
  2. 多进程/多线程同时向一个文件中写入日志如何避免冲突?
  3. 【嵌入式硬件Esp32】Ubuntu 1804下ESP32交叉编译环境搭建
  4. lua游戏开发实践指南光盘_Godot游戏开发实践之一:用High Level Multiplayer API制作多人游戏(上)
  5. java纯数字正则表达式_JAVA验证数字的正则表达式,来一发
  6. 网络蜘蛛采用三种策略来决定抓取网页的先后顺序
  7. duilib开发(九):定时器和超链接
  8. 数据库概述05(数据库查询及修改操作)
  9. 新建销售群开场语句_销售会议开场白台词
  10. matlab机械臂运动仿真
  11. opencv android 透视,Opencv for Android 之透视变换
  12. 远程桌面从服务器拷文件出错
  13. 线性回归相关知识及公式推导
  14. 预推免面试准备 - C语言
  15. Object.keys、Object.values、Object.entries详解
  16. 计算机维修耗材管理,中国建设银行驻马店分行计算机耗材管理办法.doc
  17. 写一个算法交换单链表中p所指结点与其后继结点-21算法题
  18. Ubuntu 14.04中文输入法的安装
  19. html分级管理目录,卫生部抗菌药物临床应用分级管理目录(2018最新版).pdf
  20. 瑞云为您开启《精灵王座》的魔幻之旅,看跨界CP的燃情虐恋

热门文章

  1. Day5-SpringBoot-Controller层注解及thymeleaf初体验
  2. 【Android】Stripe支付
  3. 15.1 socket--网络接口库
  4. 毕业季:致走向辽远未知的你
  5. 在Arcmap中,地图上地图上标注的两种比例尺的差异?
  6. 前端绘图开源组件_5 个优秀前端 UI 框架
  7. QT creator使用(五):应用程序主窗口QMainWindow
  8. 2008年信息化大盘点年关倾情奉献
  9. 解读Android之数据存储方案
  10. 数位dp 最高位和最低位差值_炒股这13年,一直只用一个冷门指标!终于做到买在最高位,卖在最低位!这才是炒股最合适方式!...