mysql 数据库导入 如果原来表数据在导出之后有新的数据 增加或更改

mysql 数据库导入 如果原来表数据在导出之后有新的数据 增加或更改,第1张

你作这样的 *** 作无非是因为误删了数据,要进行恢复原数据,又不想冲掉后来更新的新数据,按下面方法来做吧:

1按日期筛选出已经作更新的数据表中数据,并作导出备份

2将你需要恢复导入的数据按更新导入UPDATE

3将第1步已经备份的数据导入UPDATE

先在新的数据库里面建立一个和原来库一样的空数据库,在Mysql的安装目录下找到data目录,你可以看到你刚才建立的数据库名所命名的目录,进入该目录,然后停止mysql,将旧的那一堆frm替换这些目录底下的文件,启动mysql就行了。注意,新mysql的版本要和旧Mysql的版本要一致,否则会出现问题。

但err中没有记录任何错误,只有重启的信息。原来该语句正常执行过,而现在每次执行必定会重现崩溃的情况,使用navicat也有同样问题。语句中使用了mysqludf_preg函数。

附innodb_status如下:

=====================================

2014-08-26 22:07:49 7fa7c74ba700 INNODB MONITOR OUTPUT

=====================================

Per second averages calculated from the last 20 seconds

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

BACKGROUND THREAD

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

srv_master_thread loops: 0 srv_active, 0 srv_shutdown, 139 srv_idle

srv_master_thread log flush and writes: 139

----------

首先我们使用MySQL提供的命令行界面来导入数据库,确保自己的电脑中安装了MySQL数据库,我们可以通过命令行来确认是否安装了MySQL数据库,当然,第一步是打开Mysql的数据库服务,我们使用命令行来打开:如下图所示:

启动MySQL后,我们找到需要用到的脚本文件,也就是数据库文件,当然,我们首先得建立一个数据库,这样才可以导入脚本,如下图所示:

我们在将脚本拷到本地磁盘的根目录,这样方便进入找到脚本,这里以D盘来说明,使用testsql:接着我们来到命令行,使用SOURCE d:/testsql;来导入数据库,先进入mysql,如下图所示:

首先要在数据库中建立好数据库,然后导入脚本,所以先建立一个数据库哦,不要脚本是不知道你要往哪个数据库中导入脚本的,如下图所示:

然后就可以输入导入sql文件命令:

mysql> USE 数据库名;

mysql> SOURCE d:/testsql;

如下图所示:

6

看到上面的画面,说明mysql数据库已经导入成功了哦!

是不是很简单呢现在来介绍第二种方法,使用mysql图形工具导入数据库,我们还是使用testsql脚本来说明:

MySQL命令行导出数据库

1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录

如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 41\bin

(或者直接将windows的环境变量path中添加该目录)

2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

如我输入的命令行:mysqldump -u root -p news > newssql (输入后会让你输入进入MySQL的密码)

(如果导出单张表的话在数据库名后面输入表名即可)

3、会看到文件newssql自动生成到bin文件下

命令行导入数据库

1,将要导入的sql文件移至bin文件下,这样的路径比较方便

2,同上面导出的第1步

3,进入MySQL:mysql -u 用户名 -p

如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码)

4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库

5,输入:mysql>use 目标数据库名

如我输入的命令行:mysql>use news;

6,导入文件:mysql>source 导入的文件名;

如我输入的命令行:mysql>source newssql;

MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。

先在新的数据库里面建立一个和原来库一样的空数据库,在Mysql的安装目录下找到data目录,你可以看到你刚才建立的数据库名所命名的目录,进入该目录,然后停止mysql,将旧的那一堆frm替换这些目录底下的文件,启动mysql就行了。

注意,新mysql的版本要和旧Mysql的版本要一致,否则会出现问题。

记事本是可以打开的,我曾经打开过4G的文件,虽然等待了很长时间。

2个表的数据结构不一样是肯定不行的,而且sql导出的文件是那种最基础的insert语句,所以要先转换一下。

先建一个和2g文件一样的表,然后把数据导入。

然后写个和新表一样结构的select文件,然后再导出来。

这里要考虑一下是否存在不可重复的列,比如自增ID,这个就不要导出了,不然和新表会有冲突的。

1、可能是因为本身源文件中带有大型,在导入时会一并导入进去。

2、检查数据库中的格式是否符合,是否存在更大的尺寸。

3、检查数据库中是否存在重复的,如果有的话就会导致变大。

以上就是关于mysql 数据库导入 如果原来表数据在导出之后有新的数据 增加或更改全部的内容,包括:mysql 数据库导入 如果原来表数据在导出之后有新的数据 增加或更改、MYSQL 导入数据库 只有文件--是一堆.FRM的文件和DB.OPT、mysql 5.7.17 导入数据库后 执行查询语句 服务挂掉等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9676713.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存