Как вы знаете, вы можете получить секунды от объекта 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
Надеюсь, что это поможет!
Он должен быть таким же простым, как выполнение этого:
mysql -u <user> -p < db_backup.dump
Если дамп имеет одну базу данных, вам может потребоваться добавить строку вверху файла:
USE <database-name-here>;
Если это дамп многих баз данных, операторы использования уже там.
Чтобы запустить эти команды, откройте командную строку (в Windows) и cd
в каталог, где исполняемый файл mysql.exe
(вам, возможно, придется немного поглядеть на него, это будет зависеть от того, как вы установили mysql, то есть автономно или как часть пакета, такого как WAMP). Когда вы находитесь в этом каталоге, вы должны просто набрать команду, как я ее выше.
Вы можете попробовать SQLyog «Выполнить SQL-скрипт» для импорта файлов sql / dump.
[/g1]
Если вы хотите просмотреть ход дампа, попробуйте это:
pv -i 1 -p -t -e / path / to / sql / dump | mysql -u USERNAME -p DATABASE_NAME
Вам, конечно, нужно установить «pv». Эта команда работает только на * nix.
Используя файл дампа 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
Команда One-liner для восстановления сгенерированного SQL из mysqldump
mysql -u <username> -p<password> -e "source <path to sql file>;"
mysql -u root -p12345678 -e "source /tmp/backup.sql;"
– Jossef Harush
27 December 2017 в 17:10
В качестве конкретного примера предыдущего ответа:
Мне нужно было восстановить резервную копию, чтобы я мог импортировать / перенести ее в SQL Server. Я установил только MySql, но не зарегистрировал его как услугу или не добавил на свой путь, поскольку мне не нужно его запускать.
Я использовал проводник Windows, чтобы поместить мой файл дампа в C: \ code \ dump.sql. Затем откройте MySql из пункта меню «Пуск». Создал БД, затем выполнил команду источника с полным путем следующим образом:
mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql
Когда мы создаем файл дампа с mysqldump
, то он содержит большой скрипт SQL для воссоздания содержимого базы данных. Поэтому мы восстанавливаем его с помощью запуска клиента командной строки MySQL:
mysql -uroot -p
(где root
является нашим именем администратора для MySQL), и после подключения к базе данных нам нужны команды для создания базы данных и прочитать файл:
create database new_db;
use new_db;
\. dumpfile.sql
Детали будут различаться в зависимости от того, какие параметры были использованы при создании файла дампа.
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
Если база данных, которую вы хотите восстановить, еще не существует, вам необходимо ее создать в первую очередь.
В командной строке, если вы находитесь в том же каталоге, который содержит сбрасываемый файл, используйте эти команды (с соответствующими подстановками):
C:\> mysql -u root -p
mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
-p
не позволяет передавать пароль, но вызывает запрос пароля. В ответе выше secret
будет использоваться как имя базы данных, а не пароль. Этот ответ следует отредактировать, чтобы удалить слово «секрет». из командной строки.
– Phrogz
7 July 2011 в 17:28
mysql -u root -psecret
без пробела, но имеет тот недостаток, что ваш пароль отображается в открытом виде в списках процессов и в файлах журналов. Лучше, как вы полагаете, использовать пустой -p
и ввести его в подсказку.
– Joe Holloway
13 September 2011 в 03:52
Вы не можете использовать меню Restore в MySQL Admin, если из него не было создано резервное копирование / дамп. Однако это стоит того. Если вы решите «игнорировать ошибки» с помощью флажка для этого, он скажет, что он успешно завершен, хотя он явно выходит из всего лишь импортированных строк. Это с дампом, заметьте.
Вы также можете использовать меню восстановления в MySQL Administrator. Вам просто нужно открыть резервный файл, а затем нажать кнопку восстановления.
./mysql -u <username> -p <password> -h <host-name like localhost> <database-name> < db_dump-file
Вам просто нужно запустить это:
blockquote>
mysql -p -u[user] [database] < db_backup.dump
Если дамп содержит несколько баз данных, вы должны опустить имя базы данных:
blockquote>
mysql -p -u[user] < db_backup.dump
Чтобы запустить эти команды, откройте командную строку (в Windows) и
cd
в каталоге, где выполняется исполняемый файлmysql.exe
вам, возможно, придется немного оглядеться, это будет зависеть от того, как вы установили mysql, то есть автономно или как часть пакета, такого как WAMP). Когда вы находитесь в этом каталоге, вы должны просто ввести команду.
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql
посмотрите здесь - шаг 3 : таким образом вам не нужен оператор USE
Я получил его для работы после этих шагов & hellip;
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 увеличить изображение
mysql -u<user> -p mydatabasename < db_backup.dump
не нужен для оператораUSE
в начале файла – Toskan 17 January 2014 в 16:29