mysqldump не хочет импортировать данные внутри mariadb [duplicate]

Как вы знаете, вы можете получить секунды от объекта timedelta, обратившись к атрибуту .seconds.

Вы можете преобразовать его в часы и остаток с помощью комбинации по модулю и вычитанию:

# arbitrary number of seconds
s = 13420
# hours
hours = s // 3600 
# remaining seconds
s = s - (hours * 3600)
# minutes
minutes = s // 60
# remaining seconds
seconds = s - (minutes * 60)
# total time
print '%s:%s:%s' % (hours, minutes, seconds)
# result: 3:43:40

Однако python предоставляет встроенную функцию divmod (), которая позволяет нам упростить этот код:

s = 13420
hours, remainder = divmod(s, 3600)
minutes, seconds = divmod(remainder, 60)
print '%s:%s:%s' % (hours, minutes, seconds)
# result: 3:43:40

Надеюсь, что это поможет!

421
задан vog 17 June 2018 в 08:45
поделиться

15 ответов

Он должен быть таким же простым, как выполнение этого:

mysql -u <user> -p < db_backup.dump

Если дамп имеет одну базу данных, вам может потребоваться добавить строку вверху файла:

USE <database-name-here>;

Если это дамп многих баз данных, операторы использования уже там.

Чтобы запустить эти команды, откройте командную строку (в Windows) и cd в каталог, где исполняемый файл mysql.exe (вам, возможно, придется немного поглядеть на него, это будет зависеть от того, как вы установили mysql, то есть автономно или как часть пакета, такого как WAMP). Когда вы находитесь в этом каталоге, вы должны просто набрать команду, как я ее выше.

455
ответ дан Dave Liepmann 16 August 2018 в 10:12
поделиться
  • 1
    Использую ли я «MySQL Command Line Client»? Раньше я никогда не использовал MySQL. – Zack Peterson 19 September 2008 в 22:31
  • 2
    Откройте файл дампа в текстовом редакторе, его довольно легко выбрать, если есть какие-либо «использование», операторы, а затем его несколько баз данных, если их нет, вам нужно будет добавить их вверху, прежде чем вы сможете запустить эту команду. – Justin Bennett 19 September 2008 в 22:34
  • 3
    Конечно, база данных, которую вы помещаете в «использование», утверждение должно будет существовать в первую очередь. – Justin Bennett 19 September 2008 в 22:35
  • 4
    Да, Давр, иди! Мне нужно запустить его и запустить, чтобы я мог его перестроить (включая удобный язык и базу данных). – Zack Peterson 29 September 2008 в 20:40
  • 5
    см. ответы на vogs. Синтаксис mysql -u<user> -p mydatabasename < db_backup.dump не нужен для оператора USE в начале файла – Toskan 17 January 2014 в 16:29

Вы можете попробовать SQLyog «Выполнить SQL-скрипт» для импорта файлов sql / dump.

enter image description here [/g1]

11
ответ дан Ashwin A 16 August 2018 в 10:12
поделиться

Если вы хотите просмотреть ход дампа, попробуйте это:

pv -i 1 -p -t -e / path / to / sql / dump | mysql -u USERNAME -p DATABASE_NAME

Вам, конечно, нужно установить «pv». Эта команда работает только на * nix.

9
ответ дан Hengjie 16 August 2018 в 10:12
поделиться

Используя файл дампа 200 Мбайт, созданный в Linux для восстановления в Windows w / mysql 5.5, я имел больший успех с помощью метода

source file.sql

из приглашения mysql, чем с

mysql  < file.sql

в командной строке, что вызвало некоторый Ошибка 2006 «сервер ушел» (на окнах)

Как ни странно, служба, созданная во время (mysql) install, ссылается на файл my.ini, который не существует. Я скопировал «большой» пример файла в my.ini, который я уже модифицировал с рекомендуемым увеличением.

Мои значения:

[mysqld]
max_allowed_packet = 64M
interactive_timeout = 250
wait_timeout = 250
6
ответ дан Jerome_B 16 August 2018 в 10:12
поделиться

Команда One-liner для восстановления сгенерированного SQL из mysqldump

mysql -u <username> -p<password> -e "source <path to sql file>;"
1
ответ дан Jossef Harush 16 August 2018 в 10:12
поделиться
  • 1
    например mysql -u root -p12345678 -e "source /tmp/backup.sql;" – Jossef Harush 27 December 2017 в 17:10
  • 2
    Не используйте такой пароль, просто используйте -p, и в командной строке вы получите запрос безопасного пароля после нажатия кнопки ввода. – user2473015 11 June 2018 в 05:44
  • 3
    Когда вы можете позволить себе интерактивную подсказку, вы правы. Когда вы не можете (например, автоматический сценарий), вы, вероятно, будете использовать его inline – Jossef Harush 11 June 2018 в 05:56

В качестве конкретного примера предыдущего ответа:

Мне нужно было восстановить резервную копию, чтобы я мог импортировать / перенести ее в SQL Server. Я установил только MySql, но не зарегистрировал его как услугу или не добавил на свой путь, поскольку мне не нужно его запускать.

Я использовал проводник Windows, чтобы поместить мой файл дампа в C: \ code \ dump.sql. Затем откройте MySql из пункта меню «Пуск». Создал БД, затем выполнил команду источника с полным путем следующим образом:

mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql
8
ответ дан Michael 16 August 2018 в 10:12
поделиться

Когда мы создаем файл дампа с mysqldump, то он содержит большой скрипт SQL для воссоздания содержимого базы данных. Поэтому мы восстанавливаем его с помощью запуска клиента командной строки MySQL:

mysql -uroot -p 

(где root является нашим именем администратора для MySQL), и после подключения к базе данных нам нужны команды для создания базы данных и прочитать файл:

create database new_db;
use new_db;
\. dumpfile.sql

Детали будут различаться в зависимости от того, какие параметры были использованы при создании файла дампа.

30
ответ дан pdc 16 August 2018 в 10:12
поделиться
  • 1
    +1 Как это самый простой способ сделать это в Windows, где двоичный файл mysql.exe не находится в PATH по умолчанию, но командная строка MySQL легко запускается из меню «Пуск». – Phrogz 7 July 2011 в 17:21

Запустите команду для входа в БД

 # mysql -u root -p 

Введите пароль для пользователя. Затем создайте новую БД

mysql> create database MynewDB;
mysql> exit

И сделайте exit.Afetr that.Run эта команда

# mysql -u root -p  MynewDB < MynewDB.sql

Затем введите в db и введите

mysql> show databases;
mysql> use MynewDB;
mysql> show tables;
mysql> exit

Thats it ........ Ваш дамп будет восстановлен из одной базы данных в другую БД

Или существует альтернативный способ восстановления дампа

# mysql -u root -p 

Затем введите в db и введите

mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit
7
ответ дан Shakeel 16 August 2018 в 10:12
поделиться

Если база данных, которую вы хотите восстановить, еще не существует, вам необходимо ее создать в первую очередь.

В командной строке, если вы находитесь в том же каталоге, который содержит сбрасываемый файл, используйте эти команды (с соответствующими подстановками):

C:\> mysql -u root -p

mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
590
ответ дан Stevi Deter 16 August 2018 в 10:12
поделиться
  • 1
    Мне лично нравится этот метод. он показывает прогресс дампа, а также точно, сколько времени занимает разный sql. – ToughPal 13 January 2010 в 14:31
  • 2
    Это должно быть отмечено как правильный ответ. – dpc.pw 1 October 2010 в 11:11
  • 3
    Это действительно правильный способ сделать это, когда вы восстанавливаете чистый дБ. – dmp 21 November 2010 в 19:28
  • 4
    Обратите внимание, что аргумент командной строки -p не позволяет передавать пароль, но вызывает запрос пароля. В ответе выше secret будет использоваться как имя базы данных, а не пароль. Этот ответ следует отредактировать, чтобы удалить слово «секрет». из командной строки. – Phrogz 7 July 2011 в 17:28
  • 5
    @Phrogz На самом деле вы можете предоставить пароль в командной строке, используя mysql -u root -psecret без пробела, но имеет тот недостаток, что ваш пароль отображается в открытом виде в списках процессов и в файлах журналов. Лучше, как вы полагаете, использовать пустой -p и ввести его в подсказку. – Joe Holloway 13 September 2011 в 03:52

Вы не можете использовать меню Restore в MySQL Admin, если из него не было создано резервное копирование / дамп. Однако это стоит того. Если вы решите «игнорировать ошибки» с помощью флажка для этого, он скажет, что он успешно завершен, хотя он явно выходит из всего лишь импортированных строк. Это с дампом, заметьте.

3
ответ дан user 16 August 2018 в 10:12
поделиться

Вы также можете использовать меню восстановления в MySQL Administrator. Вам просто нужно открыть резервный файл, а затем нажать кнопку восстановления.

0
ответ дан user26087 16 August 2018 в 10:12
поделиться
./mysql -u <username> -p <password> -h <host-name like localhost> <database-name> < db_dump-file
9
ответ дан vkrishna17 16 August 2018 в 10:12
поделиться
  • 1
    Это то же самое, что и несколько других ответов, и это восьмилетний вопрос. – miken32 28 July 2016 в 18:01
  • 2
    Хотя выбранный ответ очень хорош, этот ответ был для меня более полезным. Мой файл базы данных был ОГРОМНЫМ, и его открытие в Notepad ++ было кошмаром, оно просто не могло справиться с размером и не позволило мне добавить имя базы данных в верхней части файла sql. В этом случае возможность указать имя db из командной строки на самом деле более полезна. – Najeeb 12 October 2016 в 18:44

Вам просто нужно запустить это:

mysql -p -u[user] [database] < db_backup.dump

Если дамп содержит несколько баз данных, вы должны опустить имя базы данных:

mysql -p -u[user] < db_backup.dump

Чтобы запустить эти команды, откройте командную строку (в Windows) и cd в каталоге, где выполняется исполняемый файл mysql.exe вам, возможно, придется немного оглядеться, это будет зависеть от того, как вы установили mysql, то есть автономно или как часть пакета, такого как WAMP). Когда вы находитесь в этом каталоге, вы должны просто ввести команду.

181
ответ дан vog 16 August 2018 в 10:12
поделиться
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql

посмотрите здесь - шаг 3 : таким образом вам не нужен оператор USE

54
ответ дан womd 16 August 2018 в 10:12
поделиться

Я получил его для работы после этих шагов & hellip;

  1. Откройте MySQL Administrator и подключитесь к серверу
  2. Выберите «Каталоги» слева
  3. Щелкните правой кнопкой мыши в левом нижнем поле и выберите «Создать новую схему» Администратор MySQL http://img204.imageshack.us/img204/7528/adminsx9.th.gif увеличить изображение
  4. Назовите новую схему (пример: «dbn») MySQL New Schema http://img262.imageshack.us/img262/4374/newwa4.th.gif увеличить изображение
  5. Открыть командную строку Windows (cmd) Командная строка Windows http://img206.imageshack.us/img206/941/startef7.th.gif Увеличить изображение
  6. Измените каталог на папку установки MySQL
  7. Выполнить команду:
    mysql -u root -p dbn < C:\dbn_20080912.dump
    
    & hellip, где «root» - это имя пользователя, dbn "- это имя базы данных, а" C: \ dbn_20080912.dump "- это путь / имя файла mysqldump .dump MySQL dump restore command line http://img388.imageshack.us/img388/2489/cmdjx0 .th.gif увеличить изображение
  8. Наслаждайтесь!
13
ответ дан Zack Peterson 16 August 2018 в 10:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: