我需要将数据(只有数据,而不是表或数据库)从数据库导出到SQL文件并保存它。如何编写这样做的PHP函数?在运行特定查询(例如,更新博客文章)时,我希望在特定情况下调用此函数。
类似于:
/*
* Get the data from the database (already specified) and export it to a SQL file
*
* @param string $dir Where to store the SQL file. Must be a full path.
* @return void
*/
function export_database_data(s
我有一个视图,它返回相当多的数据。现在,视图被加载到一个文件中,如下所示:
SELECT * FROM view INTO OUTFILE /path/to/file.tmp;
然后将其从该文件加载到一个表中:
LOAD DATA INFILE /path/to/file.tmp INTO TABLE table;
然后使用mysqldump创建该表的转储(实际上是多个表,前两个步骤重复多次,然后运行mysqldump )。
有没有更好的方法来做这件事?理想情况下,我希望在不将任何内容保存到文件的情况下执行此操作。是否可以只用一条语句从视图中创建数据的sql转储?
我使用以下命令从本地主机导出.sql文件
$sql = "SELECT * INTO OUTFILE '$backup_file' FIELDS TERMINATED BY ',' LINES TERMINATED BY ';' FROM $table_name";
在那之后,我被上传这个.sql文件到远程服务器。现在,我需要将这个.sql文件导入到名称为$table_name的同一个远程Mysql表中。由于从远程服务器到远程mysql服务器的相对路径问题,我在使用LOAD DATA INFILE命令时遇到了问题。谁能帮我创建一个
我有一个使用Q2A引擎构建的网站
因为我在那里有大约600个活动用户,所以我试图在第二个服务器上创建一个它的副本,只用于测试目的。
我复制了所有文件并导出了网站(大约28 8MB原始SQL /8MB .gz文件),但是当我试图在新服务器上导入它时,我会得到错误:
SELECT USER(
);
MySQL returned error:
#2006 - MySQL server has gone away
会出什么问题呢?
我尝试过几种方法:导入原始sql文件、gz文件、导入干净数据库、在已安装的q2a新副本基础上导入等等。总是同样的错误。
当我这样做的时候
connexion.query(the_sql_file);
我有这个错误
Unhandled rejection SequelizeDatabaseError: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '; -- phpMyAdmin SQL Dump
因为很明显,我有一个非常长的.sql文件,里面有注释。有很多评论都标有"--评