用Qt转储MySQL数据库
|
我有这个插槽:
void Managment::dbExportTriggered()
{
save = QFileDialog::getSaveFileName(this, trUtf8(\"Export db\"),
QDir::currentPath() + \"Backup/\",
trUtf8(\"Dumped database (*.sql)\"));
sqlQuery = \"SELECT * INTO OUTFILE \'\" + save + \".sql\' FROM Users, Data\";
//QMessageBox::critical(0, trUtf8(\"query dump\"), QString::number(query.exec(sqlQuery)));
query.exec(sqlQuery);
}
我有这个查询:
sqlQuery = \"SELECT * INTO OUTFILE \" + save + \" FROM Users, Data\";
我正常执行,但没有出现转储文件,,2ѭ目录具有正确的权限,转储的数据库必须在客户端中。
更新:
搜索之后,我发现INTO OUTFILE
查询将数据库转储到服务器中,而不是我想像的客户端中,因此现在我的问题是如何在没有任何外部工具(例如mysqldump
客户端)的情况下将数据库转储到远程MySQL服务器中。
没有找到相关结果
已邀请:
4 个回复
容淑阔九
谦响局豢报
因此,您还可以添加一些参数以仅转储特定表。 编辑: 只要注意
语句上的mysql文档: 如果要创建结果 文件放在除 服务器主机,通常无法使用 SELECT ... INTO OUTFILE,因为有 无法将路径写入文件 相对于服务器主机的文件 系统。 因此,您必须自己滚动,或者可以按照上述文档的建议使用
。
磨标烫徽啪
弦砂牧扁
但是MySQL文档说它想要这样的东西
另外请记住以下几点: 该文件是在服务器主机上创建的,因此您必须具有FILE特权才能使用此语法。
不能是现有文件,这尤其可以防止破坏prevents14ѭ等文件和数据库表。 如果您正在查看客户端,即使操作成功,您也不会在此处看到文件。