在Windows 10

时间:2018-09-29 09:22:21

标签: mysql

我经历了很多解决方案,但是以前在Windows 7中都没有在Windows 10中工作,但是在Windows 10上移动后,此mysql查询在Windows 10命令行上不工作。

  

c:\ wamp \ bin \ mysql \ mysql5.7.19 \ bin \ mysql.exe -uroot -ppassword   test_db1 | mysql.exe -u root -ppassword test_db2;
  您的SQL语法有误;在第1行的'c:\ wamp \ bin \ mysql \ mysql5.7.19 \ bin \ mysql.exe -uroot -ppassword ifinance_hea'附近使用相应语法检查与MySQL服务器版本相对应的手册

我已经给出了mysql.exe的完整路径

注意:-我知道有很多解决方案可用,但是没有一个对我有用。

我也尝试过:-

  

mysqldump -uroot -ppassword test_db1 | mysql -u root -ppassword test_db2;
   您的SQL语法有误;查看与您的MySQL服务器版本相对应的手册,以在'mysqldump -uroot -ppassword ifinance_hea |附近使用正确的语法。第1行的mysql -u root -ppassword ifinance_hea'

我的代码是:-

public void copyDB(BRANCH branch, Date processDate, String newDbName) throws IOException {
        Session session = getSessionFactory(branch).openSession();
        try {
            String sqlC = "CREATE DATABASE IF NOT EXISTS " + newDbName;

            Query queryC = session.createSQLQuery(sqlC);
            queryC.executeUpdate();
            ProcessBuilder builder = new ProcessBuilder(Util.getProcessBuilder());

            Process p = builder.start();
            // get stdin of shell
            BufferedWriter p_stdin = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
            p_stdin.write(c:\wamp\bin\mysql\mysql5.7.19\bin\mysql.exe -uroot -ppassword test_db1 | mysql.exe -u root -ppassword test_db2);


            p_stdin.newLine();
            p_stdin.flush();

            // finally close the shell by execution exit command
            p_stdin.write("exit");
            p_stdin.newLine();
            p_stdin.flush();

            Scanner s = new Scanner(p.getInputStream());
            while (s.hasNextLine()) {
                System.out.println(s.nextLine());
            }
            s.close();
        } finally {
            session.flush();
            session.close();
        }
    }

0 个答案:

没有答案