Qt 采用QProcess 备份及还原数据库

本文详细介绍了在遇到MySQL数据库备份失败时的排查过程,包括未能找到mysqldump.exe文件的问题及其解决方案,以及成功备份后如何进行数据库还原。通过调整备份路径和确保正确的MySQL工具路径,最终实现了数据库的成功备份与还原。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考http://blog.youkuaiyun.com/lynfam/article/details/6194275

文章中备份数据库代码如下:

  1. QString Cmd = QString("mysqldump.exe")  
  2. QStringList argument;  
  3. argument<<"--add-drop-table"<<"-uUsrName"<<"-pUsrPsd"<<"test";  
  4. QString Path = QString("%1").arg("d://backup.Sql");  
  5. QProcess *poc=new QProcess;  
  6. poc->setStandardOutputFile(Path);  
  7. poc->start(Cmd,argument); 
实验不成功,输出的文件0字节;

原来是没有找到mysqldump.exe文件的原因

代码修改为:

  • QString Cmd = QString("C:\\Program Files\\MySQL Server 5.6\\mysqldump.exe")  
  • QStringList argument;  
  • argument<<"--add-drop-table"<<"-uUsrName"<<"-pUsrPsd"<<"test";  
  • QString Path = QString("%1").arg("d://backup.Sql");  
  • QProcess *poc=new QProcess;  
  • poc->setStandardOutputFile(Path);  
  • poc->start(Cmd,argument); 

    还原数据的代码如下:

    1. QString Cmd = QString("C:\\Program Files\\MySQL\\MySQL Server 5.6\\bin\\mysql.exe")  
    2. QStringList argument;  
    3. argument<<"-uUsrName"<<"-pUsrPsd"<<"test";  
    4. QString Path = QString("%1").arg("d://backup.Sql");  
    5. QProcess *poc=new QProcess;  
    6. poc->setStandardInputFile(Path);  
    7. poc->start(Cmd,argument); 
    8. poc->waitForFinished(-1);
    9. QMessageBox::information(0,"","还原完成!");

    问题解决


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值