Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在perl中重新加载mysql数据库的最快方法_Mysql_Perl - Fatal编程技术网

在perl中重新加载mysql数据库的最快方法

在perl中重新加载mysql数据库的最快方法,mysql,perl,Mysql,Perl,我有一个脚本,需要将数据添加到mysql数据文件夹中创建的文件夹中,然后以某种方式强制mysql服务器重新加载数据,以便数据库可靠地显示出来。我目前正在使用系统调用/etc/init.d/mysql脚本来重新启动服务器,但这相当慢,我在mysql中找不到任何可以通过某种查询重新加载数据库的东西。。我只是想知道是否有一种方法可以稍微快一点?你说的“相当慢”是什么意思 您可以在名为original\u db\u name\u temp的数据库中转储/加载新数据库,重命名原始数据库,然后将origin

我有一个脚本,需要将数据添加到mysql数据文件夹中创建的文件夹中,然后以某种方式强制mysql服务器重新加载数据,以便数据库可靠地显示出来。我目前正在使用
系统
调用
/etc/init.d/mysql
脚本来重新启动服务器,但这相当慢,我在mysql中找不到任何可以通过某种查询重新加载数据库的东西。。我只是想知道是否有一种方法可以稍微快一点?你说的“相当慢”是什么意思

您可以在名为
original\u db\u name\u temp
的数据库中转储/加载新数据库,重命名
原始数据库,然后将
original\u db\u name\u temp
重命名为
original\u db\u name
,这样您就有了新的数据库


但是,我不知道哪种方法比您的方法更快,因为转储和加载往返可能比文件副本慢。但是,重命名DBs可能比重新启动服务器快

你说的“相当慢”是什么意思

您可以在名为
original\u db\u name\u temp
的数据库中转储/加载新数据库,重命名
原始数据库,然后将
original\u db\u name\u temp
重命名为
original\u db\u name
,这样您就有了新的数据库


但是,我不知道哪种方法比您的方法更快,因为转储和加载往返可能比文件副本慢。但是,重命名DBs可能比重新启动服务器更快,这取决于您使用的存储引擎

MyISAM表将在MySQL下一次接触该表时自动重新加载(显然,您需要确保.MYI、.MYD和.frm文件是一致的)

InnoDB有点复杂,这取决于它是一种传统配置,所有表都在同一个表空间中,还是使用
InnoDB\u file\u per\u table
。对于前者,您几乎必须重新启动服务器。使用每个表的文件,您可以复制单个.ibd文件,但随后必须使用
altertable
语句导入该表空间

有关在不重新启动服务器的情况下处理单个.ibd文件的信息,请参阅


对于了解如何将InnoDB数据从一个地方移动到另一个地方也很有用。

这取决于您使用的存储引擎

MyISAM表将在MySQL下一次接触该表时自动重新加载(显然,您需要确保.MYI、.MYD和.frm文件是一致的)

InnoDB有点复杂,这取决于它是一种传统配置,所有表都在同一个表空间中,还是使用
InnoDB\u file\u per\u table
。对于前者,您几乎必须重新启动服务器。使用每个表的文件,您可以复制单个.ibd文件,但随后必须使用
altertable
语句导入该表空间

有关在不重新启动服务器的情况下处理单个.ibd文件的信息,请参阅


也有助于了解如何将InnoDB数据从一个地方移动到另一个地方。

也许配置重新加载会起作用,也许配置重新加载会起作用,按照约定,此OP不希望重新启动整个系统来执行此操作,perl与此无关。约定,此OP不希望重新启动整个系统来执行此操作,perl与此无关。