2015-08-14 8 views
2

Я могу найти некоторые команды, через которые я могу восстановить таблицу или некоторые таблицы из резервной копии sql в базу данных.Восстановление базы данных mysql в JAVA

Но если я хочу создать полную базу данных из резервной копии sql, то какая будет процедура?

Обратите внимание: база данных не существует на сервере. Мне нужно создать его из резервных файлов.

+0

mysqldump или утилита экспорта инструментов gui, например, Mysql Workbench. генерирует скрипт. создать новую схему/db. запустить сценарий – Drew

+0

, но нет существующего db на сервере ... поэтому, когда dbname и пароль в такой строке будут содержать String [] executeCmd = new String [] {"mysql", "--user =" + dbUserName, "--password =" + dbPassword, dbName, "- e", "source" + source}; как выразиться ??? потому что на сервере нет базы данных. Дамп из другого места, и я не могу его создать раньше. @Drew – Bee

+0

, поэтому вы не можете создать новый db в любом случае. Нет никакого способа создать db? Я знаю, что я не могу вам помочь, если это так. – Drew

ответ

1

Я приведу вам пример из Mysql Workbench, бесплатную загрузку из Oracle/Mysql.

Вы переходите в Управление/Экспорт данных из верхнего левого окна. Выберите базу данных. Решите, что вы хотите экспортировать, например данные и структура, хранимые процедуры, представления и т. Д.

Вы можете экспортировать в отдельные файлы .sql для каждой таблицы или сгладить их вместе. Итак, теперь у вас есть один или несколько файлов .sql.

Alter верха .SQL, который говорит

`CREATE DATABASE IF NOT EXISTS `myDbName` ... ; 
USE `myDbName`; 

те строки 1 и 2

Изменить те, что ваше новое имя БД будет.

Сохраните файл .sql. Если более одного файла .sql, сделайте то же самое со всеми из них.

запустить эти сценарии на сервере с соответствующими привилегиями. Так, например, гипотетически, скажем, у вас есть пользователь, например, dbAdminUser, прилагаемую к жизни с вызовом, как это:

CREATE USER 'dbAdminUser'@'localhost' IDENTIFIED BY 'myPassword'; 
CREATE USER 'dbAdminUser'@'127.0.0.1' IDENTIFIED BY 'myPassword'; 
CREATE USER 'dbAdminUser'@'%' IDENTIFIED BY 'myPassword'; 

GRANT ALL ON *.* TO 'dbAdminUser'@'localhost'; 
GRANT ALL ON *.* TO 'dbAdminUser'@'127.0.0.1'; 
GRANT ALL ON *.* TO 'dbAdminUser'@'%'; 

Я вижу успех в создании с вышеизложенным подходом, используя dbAdminUser.

+0

, DbName не понадобится, поскольку скрипт создает, а затем делает a use – Drew

+0

ok вы удалили свой комментарий – Drew

+0

подключитесь как пользователь dbAdminUser, если используете мой ответ, следуя вместе с ним – Drew

Смежные вопросы