mysql版本:5.6.43-log

处理过程:

尝试了三种方法恢复:

注意:在导入前禁用外键约束,防止导入过程中外键校验导致建表失败,导入完成后开启外键约束(当然MySQL中还是不建议使用外键的):

set foreign_key_checks=0; -- 禁用外键

set foreign_key_checks=1; -- 开启外键

(1)使用--one-database参数导入dysub数据

nohup mysql -uwsnimp -pXXXXXX -hXXXXXX dysub --one-database err_wsnimp_XXX.log &

结论:此种方式可导入指定数据库的全部数据,但是对于非指定数据库的数据库也会被建立,但没有表和数据信息,不推荐。

(2)使用sed命令从备份文件中摘出来指定数据库的相关sql语句:

匹配出dysub库相关语句:sed -n '/^-- Current Database: `dysubprod`/,/^-- Current Database: `/p' XXXXXXX.sql > dysubbak_20190801.sql &如果是指定多个库,用;分隔多个匹配的命令即可:sed -n '/^-- Current Database: `dysub1`/,/^-- Current Database: `/p;/^-- Current Database: `dysub2`/,/^-- Current Database: `/p' XXXXXXX.sql >dysubbak_20190801.sql&

结论:此种方式可较快处理问题,经测试即使SQL文件很大(几十G是完全没问题的),也可以用sed快速输出匹配的sql命令行。

(3)在库中先建一个用户导入数据的用户,赋予需要导入数据库的权限:

此处我赋予的是all 权限:

grant all privileges ondysubprod.* to wsnimp@'%' identified by 'Passw0rd#';

flush privileges;

数据导入,如果不加force 命令会异常中断,因为对于没有权限的库都是导入失败的:

nohup mysql -uwsnimp -pPassw0rd# -hXXXXXX --force< pdms_bak.sql >err_pdmsimp.log &

结论:此种方法同样是推荐的。

(4)由于有多个源端的全备文件,用sed也需要一个个匹配重定向到新文件里,可以采用追加到同一个文件方式,然后最终一次执行。

此次问题处理过程中因为多源+多库,我采用了第三种方式:只需要赋予指定库的权限,然后写个简单的小脚本nohup一次执行即可,

可以从输出的日志中看出来SQL文件执行到第几个以及执行成功与否:

nohup ./wsnimp.sh >err_wsnimp_201907310945.log &

#!/bin/sh

##wsnimp.shcd/dataecho '---first sql----'mysql-uwsnimp -pXXXXX -hXXX --force<01_20190731_0600.sqlif [ $? -eq 0 ]; then

echo "==== ok!===="

else

echo "====failed!===="exit1

fi

echo '---second sql----'mysql-uwsnimp -pXXXX -hXXX --force<02_20190731_0600.sqlif [ $? -eq 0 ]; then

echo "==== ok!===="

else

echo "====failed!===="exit1

fi

echo '---third sql----'mysql-uwsnimp -pXXX -hXXX --force<03_20190731_0600.sqlif [ $? -eq 0 ]; then

echo "==== ok!===="

else

echo "====failed!===="exit1

fi

echo '---fourth sql----'mysql-uwsnimp -pXXX -hXXX --force<04_20190731_0600.sqlif [ $? -eq 0 ]; then

echo "====all ok!===="

else

echo "====failed!===="exit1

fi

补充:从日志中看到有报错:

ERROR 1227 (42000) at line 1781: Access denied; you need (at least one of) the SUPER privilege(s) for this operation

这个报错是没有super权限,根据报错信息中提示的line 去sql语句文件中找到对应的sql信息,

sed -n '1600,1900p;' 01_20190731_0600.sql >test.txt

结果显示均为:CREATE DEFINER=`root`@`%` PROCEDURE `类似的创建存储过程或者函数的语句,这是由于导入使用的用户没有赋予存储过程或者函数所在库的权限,故报错,选择无视。

----------------

----------------

mysql导入指定数据库_从mysql全备 导入指定数据库的数据:三种考虑方法相关推荐

  1. csv文件导入后台乱码_用Excel打开CSV格式文件乱码,三种方法可以处理好!

    日常办公中,我们使用办公软件办公是比较平凡的,现在的办公软件也有好几种(微软的office.金山的WPS等).而且小编觉得在所有的办公软件中是微软的office是比较有名的.这款软件不仅功能齐全,还可 ...

  2. mysql密码认证插件_关于mysql:无法加载身份验证插件’caching_sha2_password’

    我正在将MySQL-8.0与MySQL Workbench连接起来并出现以下错误: Authentication plugin 'caching_sha2_password' cannot be lo ...

  3. c# mysql executenonquery_c#数据四种执行方法(ExecuteNonQuery)-----转载

    c#数据四种执行方法(ExecuteNonQuery) 1.使用ExecuteReader()操作数据库 2.使用ExecuteNonQuery()操作数据库 3.使用ExecuteScalar()操 ...

  4. 数据库时间内接受的是lang类型的时间 分为三种字段 第一种只存日期 第二种存日期+时间 第三种时间戳...

    数据库时间内接受的是lang类型的时间 分为三种字段 第一种只存日期 第二种存日期+时间 第三种时间戳 转载于:https://www.cnblogs.com/classmethond/p/10250 ...

  5. SQL:使用备份向导、SQL命令、导出数据三种方式对已建立的数据库进行备份

    SQL:使用备份向导.SQL命令.导出数据三种方式对已建立的数据库进行备份 目录 题目要求 解题步骤 题目要求 使用备份向导备份数据库 "DEMO_4_2_2_1"到考生文件夹&q ...

  6. ajax后台返回数据中文乱码_解决Jmeter返回值显示中文乱码 的三种方法及设置随机动态参数(非原创侵删)...

    一.Jmeter返回值显示中文乱码解决方法 第一种解决方法: 1. 点击线程组--添加--后置处理器--BeanShell后置处理程序 2.点击BeanShell后置处理程序,编写:prev.setD ...

  7. Win11提示Windows无法访问指定设备路径或文件的三种解决方法

    ​Win11提示Windows无法访问指定设备路径或文件怎么办?导致出现这一情况的原因有很多,相信有很多小伙伴们对于这一情况,都不太情况应该怎么办,对此今天小编就为大家带来三种解决方法,希望能够帮到你 ...

  8. mysql 导入设置编码_从MySQL导出导入数据库的命令实例及设置会话字符编码

    1.导入导出 1.mysql导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > ...

  9. excel数据库_将excel文件导入mysql数据库教程(PHP实现)

    点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网      源 / www.php.cn 在这篇文章中,我将给大家介绍如何使用PHP将excel文件导入mysql数据库.有时候我们需 ...

最新文章

  1. 服务器架设笔记——使用Apache插件解析简单请求
  2. 百度、长沙加码自动驾驶,湖南阿波罗智行科技公司成立...
  3. 笨办法学C 练习22:栈、作用域和全局
  4. Php小数转为百分数,学习猿地-php百分数如何转小数
  5. html伪类选择器代码,CSS3中结构性伪类选择器—:first-of-type实现名言标签(代码实例 )...
  6. rman删除7天前备份_RMAN备份
  7. 河南理工大学c语言报告封面,河南理工大学图书信息管理系统设计_纯c语言课程设计.doc...
  8. 服务器系统性能计数器,MSRS 2008 Windows Service 性能对象的性能计数器
  9. 监控的1080P、3MP和5MP是什么意思?区别是什么?
  10. PO、VO、BO、POJO、DAO、DTO都是什么对象
  11. SpringBoot整合Mybatis与JDBC连接池
  12. 前端学习2-JavaScript
  13. 如何确定scrum的story之一:识别利益相关者和目标
  14. ic和mos怎么区分_MOS管和IGBT管的定义是什么与怎么辨别呢?
  15. vue3+ts+vite,使用高德api实现搜索城市展示在地图上
  16. Python脚本-自动连接校园网
  17. sas简单描述统计分析和散点图
  18. I/Q信号解调分析过程
  19. 如何分辨一个公司是玩你还是爱你?
  20. 使用ffmpeg下载m3u8并转化为MP4视频格式

热门文章

  1. Python3多线程threading介绍(转载)
  2. C#文件封装到Dll
  3. python处理回显_Python中getpass模块无回显输入源码解析
  4. 自动驾驶之多传感器融合-硬件篇(毫米波雷达)
  5. 鲁棒,抗遮挡的对柔性手抓取的物体6D姿态估计
  6. OC中创建对象,存入数组,并且遍历对象
  7. RDKit | 基于随机森林(RF)预测SARS-CoV 3CL蛋白酶抑制剂的pIC50
  8. java转置矩阵相乘_java实现矩阵的加-减-乘-转置运算
  9. 本年扩增子、宏基因组课程报名已满,想要学最早等明年
  10. R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(配置点的形状、大小)实战