Boa tarde, estou com um problema com o mysql. o código a seguir está funcionando perfeitamente quando a senha é preenchida, mas quando a senha está em branco, ele não funciona. Preciso deixar alguns bds com senhas em branco, e eu não gostaria de fazer um else para retirar o -p do codigo. Alguem pode me ajudar?
Seu eu rodar o -p e senha em branco no cmd, ele pede uma confirmação, mas no eclipse ele tranca.
package Migrador;
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
public class Migrador
{
public static void main(String[] args) throws ClassNotFoundException, SQLException, IOException, InterruptedException
{
String enderecobanco = "localhost";
String banco = "nome_teste";
String login = "root";
String senha = "";
// tem 2 tipos de endereco e login, pois foi feito para fazer backups de
// bd online, tbm
String loginlocal = "root";
String senhalocal = "";
String enderecolocal = "localhost";
String bancoteste = banco + "_teste";
System.out.println("INICIO DO BACKUP");
Class.forName("com.mysql.jdbc.Connection");
String url = "jdbc:mysql://" + enderecolocal + "/" + "?user=" + loginlocal + "&password=" + senhalocal;
Connection conn = (Connection) DriverManager.getConnection(url);
// aki ele pega o banco no loca, e salva onde eu quero
Process proc = Runtime.getRuntime().exec("cmd /c mysqldump -u " + login + " -h " + enderecobanco + " " + banco + " --result-file=C:\\testebd\\" + bancoteste + ".sql" + " -p" + senha);
proc.waitFor();
// aki se existir o banco com o nome teste, no bd onde ele sera
// colocado, ele deleta
PreparedStatement stmt = conn.prepareStatement("DROP DATABASE IF EXISTS " + bancoteste + ";");
stmt.execute();
// aki, ele cria o banco com o nome teste
stmt = conn.prepareStatement("CREATE DATABASE " + bancoteste + ";");
stmt.execute();
// aki ele importa o banco
proc = Runtime.getRuntime().exec("cmd /c mysql -h " + enderecolocal + " -u " + loginlocal + " " + bancoteste + " < C:\\testebd\\" + bancoteste + ".sql" + " -p" + senhalocal);
proc.waitFor();
System.out.println("FIM DO BACKUP");
}
}