Mysql:使用非特权用户(非root用户)恢复单个db表

时间:2012-05-03 06:54:18

标签: java mysql

我有一个带有客户表的mysql数据库。我使用以下命令从java程序中备份表

    String mysqlpath = /usr/bin/;
    String fileName = path + "/" + tableName + "_" + today;
    mysqlpath += "/" + "mysqldump";
    String executeCmd = mysqlpath + " -h " + hostName + " -u " + userName + " -p" + password + " " +dbName; 
    // The --single-transaction dumps the db with explicit locking this is to allow non-root user to take a dump.
    executeCmd  += " " + tableName + " -r " + fileName + " --single-transaction";

我使用以下命令从java恢复表。

    String mysql += "/usr/bin/mysql";
    String command  = mysql + " " + dbName +" -h " + hostName + " -u " + userName + " -p" + password + " -e "+     "\" source "+ fileName +"\"" ;

其中fileName是从上面的命令生成的备份文件的名称。

当提供给mysql命令的用户名是root用户时,这非常有用。备份功能适用于非root用户,但是当非root用户尝试还原数据库时,还原会失败。我知道这是由于非root用户拥有的权限有限。

我的问题是: 如何使恢复功能适用于非root用户?

0 个答案:

没有答案