我有一个带有客户表的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用户?