Já tentei de todas as formas
já dei privilegios para pastar já tentei no diretorio dos meus documentos
já tentei utilizar o dump do workbench do xampp
e continua a mesma coisa…
alguém me salva pff
meu metodo:
publicbooleanbackupDB(StringdbName,StringdbUserName,StringdbPassword,Stringpath){String[]executeCmd=newString[]{"C:\\Program Files\\MySQL\\MySQL Workbench 8.0 CE\\mysqldump.exe","-u",dbUserName,"-p",dbPassword,"--add-drop-database","-B",dbName,"-r",path};finalProcessBuilderpb=newProcessBuilder(Arrays.asList(executeCmd));finalProcessp;try{p=pb.start();intprocessComplete=p.waitFor();if(processComplete==0){System.out.println("Backup created successfully");returntrue;}else{System.out.println("Could not create the backup");BufferedReaderreader=newBufferedReader(newInputStreamReader(p.getErrorStream()));Stringline=null;while((line=reader.readLine())!=null){System.out.println(line);}}}catch(IOException|InterruptedExceptione){e.printStackTrace();}returnfalse;}
meu main:
boolean backupDB = backup.backupDB("bd_relatorios", "root", "", "C:\\Users\\Gabriel\\Documents\\Nova pasta (2)\\das");
error: mysqldump: Can't create/write to file 'C:\Users\Gabriel\Documents\Nova pasta (2)\das' (OS errno 13 - Permission denied)
String[]executeCmd=newString[]{"C:\\xampp\\mysql\\bin\\mysqldump.exe ","-u",dbUserName,"-p",dbPassword,"--add-drop-database","-B",dbName,"-r",path};finalProcessBuilderpb=newProcessBuilder(Arrays.asList(executeCmd));finalProcessp;try{p=pb.start();intprocessComplete=p.waitFor();if(processComplete==0){System.out.println("Backup created successfully");returntrue;}else{System.out.println("Could not create the backup");BufferedReaderreader=newBufferedReader(newInputStreamReader(p.getErrorStream()));Stringline=null;while((line=reader.readLine())!=null){System.out.println(line);}}}catch(IOException|InterruptedExceptione){e.printStackTrace();}returnfalse;}
é um arraylist
saiu o error porém ficar int processComplete = p.waitFor(); quando chega nessa parte o programa continua executando mas não sai dai e não vai pro if e else
staroski
Você postou o código Java, perguntei se você consegue executar em linha de comando.
Lá no prompt do Windows.
LostSpirit
Opa eu adicionei o mysql ao meu path
utilizei o comando mysql no cmd e deu isso:
staroski
Se você não está nem conseguindo executar o programa em linha de comando, como espera executar a partir do Java?
Significa que a pasta do mysqldump não está na variável de ambiente PATH
Ou você adiciona a pasta à variável ou executa o programa a partir da pasta dele.
O código que escreveu no Java equivale à isso aqui:
C:\xampp\mysql\bin\mysqldump.exe-uroot-p""--add-drop-database-Bbd_relatorios-r"C:\Users\Gabriel\Documents\Nova pasta (2)\das"
Mas em linha de comando você tentou executar isso aqui:
agora pelo xampp o arquivo fica em branco
com
mysqldump --column-statistics=0 -u root -p bd_relatorios > C:\MudinhoX\bacxk.sql
ou sem
mysqldump -u root -p bd_relatorios > C:\MudinhoX\bacxk.sql
(eu mudei o path antes de usar)
e utilizando isso no java continua do msm jeito
Jothar_Aleksander1 like
Verificou se o serviço está ativo? Veja se o serviço está rodando (Win + R -> services.msc -> Enter) e procure ver se o MySQL ou o Xampp está como iniciado. No manual do MySQL tem algo sobre isso: https://dev.mysql.com/doc/refman/8.0/en/cannot-create.html.