gpt4 book ai didi

mysql - 从 Electron.io 应用程序进行 MySql 备份的更好方法

转载 作者:行者123 更新时间:2023-11-29 11:09:54 25 4
gpt4 key购买 nike

我想了解如何 node mysql module致力于了解其操作如何影响 Electron.io Node 上的执行性能应用程序。

例如:我必须从一个具有2m(百万)行的表到另一个数据库进行一些备份。首先我尝试用 node child_process 来做到这一点在 Electron.io 应用程序上。它适用于开发(# electrion main.js),但不适用于 asar package因为它有自己的子进程限制。

这是我必须做的:

准备输出数据库

DROP TABLE IF EXISTS MY_SECOND_DATABASE.BACKUP_TABLE;
CREATE TABLE MY_SECOND_DATABASE.BACKUP_TABLE (
`NumberField` int(11) NOT NULL
);

从数据库源备份

mysql -h 127.0.0.1 -u root -proot MY_FIRST_DATABASE -e“从 MY_TABLE 中选择 NumberField”>/User/MacBook/Downloads/sql_output_content.txt

然后复制到另一个数据库

mysql -h 127.0.0.1 -u root -proot MY_SECOND_DATABASE -e "将数据本地 INFILE '/User/MacBook/Downloads/sql_output_content.txt' 加载到表 BACKUP_TABLE 字段中,该字段由 '\t' 行终止'\n'"

出现的疑问

  • 如果我使用此 Node mysql 插件执行相同的操作,会是更好的方法吗,因为它执行与我在生成子进程上执行的相同任务?
  • 是否有其他方法可以更有效地完成此任务?

最佳答案

在您链接到的模块的自述文件的简介部分中,解释了如何连接到数据库:

您在这里使用两个数据库(在同一主机上,但有两个数据库名称),因此您需要创建两个连接 - 用于第一个数据库和第二个数据库。

与第二个数据库的连接将用于删除表并创建一个新表,然后与第一个数据库的连接将用于获取所有数据,与第二个数据库的连接将用于保存所有数据该数据。

如果不进行测试,很难说哪种方式对您来说更快,但如果您无法生成外部进程,那么您别无选择,只能从 Node 处理数据库。

关于mysql - 从 Electron.io 应用程序进行 MySql 备份的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40785505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com