-
在cmd中实现
|
cd C:\Program Files\MySQL\MySQL Server 5.7\bin mysqldump -h rm-uf6zo8z5h35md5f492o.mysql.rds.aliyuncs.com -u dahua1 -pdahua@2022 shdhv3_a8892 dh_user_info --set-gtid-purged=off > /dev/null > F:\temp\dh_user_info.sql |
--set-gtid-purged=off(取消导出的文件中SET @MYSQLDUMP_TEMP_LOG_BIN的命令)
> /dev/null(取消导出的文件中mysqldump: [Warning] Using a password on the command line interface can be insecure的警告)
2.在java代码中实现
> /dev/null在cmd中可以取消导出的文件中Using a password的警告,在java代码中不行。
(1)先创建一个文件my.cnf(文件名随意),我的在F:\temp文件夹下
|
[client] user=dahua1 password=dahua@2022 host=rm-uf6zo8z5h35md5f492o.mysql.rds.aliyuncs.com |
(2)Java代码
public void t1(String dbName,String tableName) {
try {
ProcessBuilder builder = new ProcessBuilder(
"C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin\\mysqldump.exe",
"--defaults-file=F:\\temp\\my.cnf", // 使用配置文件
dbName,
tableName,
"--set-gtid-purged=off"
);
builder.redirectOutput(new File("F:\\temp\\"+tableName+".sql"));
builder.redirectErrorStream(true);
// 启动进程并读取输出
Process process = builder.start();
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream(), "GBK"))) {
reader.lines().forEach(System.out::println);
}
// 检查执行结果
if (process.waitFor() == 0) {
System.out.println("命令执行成功");
}
} catch (Exception e) {
e.printStackTrace();
}
}
|
1426

被折叠的 条评论
为什么被折叠?



