как восстановить файл дампа из mysqldump?

<p>мне дали файл базы данных mysql, который мне нужно восстановить как базу данных на моем компьютере с windows server 2008.</p><p>я пытался использовать mysql administrator, но я получил следующую ошибку:</p><blockquote> <p>выбранный файл был сгенерирован mysqldump и не может быть восстановлено это приложение.</p> </blockquote><p>как мне заставить это работать?</p>

<p>это должно быть так же просто, как запустить это: </p><pre><code>mysql -u <user> -p < db\_backup.dump </code></pre><p>если дамп относится к одной базе данных, вам, возможно, придется добавить строку вверху файла:</p><pre><code>use <database-name-here>; </code></pre><p>если это был дамп многих баз данных, операторы использования уже там.</p><p>чтобы выполнить эти команды, откройте командную строку (в windows) и <code>cd</code> в каталоге, где находится исполняемый файл <code>mysql.exe</code> (вам, возможно, придется немного поискать его, это будет зависеть от того, как вы установили mysql, то есть автономно или как часть пакета как wamp). как только вы окажетесь в этом каталоге, вы сможете просто набрать команду, как у меня выше.</p>

<p>если база данных, которую вы хотите восстановить, еще не существует, вам нужно сначала ее создать.</p><p>в командной строке, если вы находитесь в том же каталоге, где находится файл дампа, используйте эти команды (с соответствующими заменами):</p><pre><code>c:\> mysql -u root -p mysql> create database mydb; mysql> use mydb; mysql> source db\_backup.dump; </code></pre>

<p>вам просто нужно запустить это:</p><blockquote> <p><code>mysql -p -u[user] [database] < db\_backup.dump</code></p> </blockquote><p>если дамп содержит несколько баз данных, вы должны опустить имя базы данных:</p><blockquote> <p><code>mysql -p -u[user] < db\_backup.dump</code></p> </blockquote><p>чтобы выполнить эти команды, откройте командную строку (в windows) и <code>cd</code> в каталоге, где находится исполняемый файл <code>mysql.exe</code> (вам, возможно, придется немного поискать его, это будет зависеть от того, как вы установили mysql, то есть автономно или как часть пакета как wamp). как только вы окажетесь в этом каталоге, вы сможете просто набрать команду.</p>

<pre><code>mysql -u username -p -h localhost data-base-name < data.sql </code></pre><p>посмотрите <a href="http://www.cyberciti.biz/faq/import-mysql-dumpfile-sql-datafile-into-my-database/">здесь - шаг 3</a> : таким образом вам не нужно выражение use</p>

<p>когда мы создаем файл дампа с помощью <code>mysqldump</code>, он содержит большой sql-скрипт для воссоздания содержимого базы данных. поэтому мы восстанавливаем его с помощью запуска клиента командной строки mysql:</p><pre><code>mysql -uroot -p </code></pre><p>(где <code>root</code> - это имя нашего администратора для mysql), и после подключения к базе данных нам нужны команды для создания базы данных и чтения файла в нее:</p><pre><code>create database new\_db; use new\_db; \. dumpfile.sql </code></pre><p>детали будут зависеть от того, какие параметры использовались при создании файла дампа.</p>

<p>я получил его на работу после этих шагов ...</p><ol> <li><p>откройте mysql administrator и подключитесь к серверу</p></li> <li><p>выберите «каталоги» слева</p></li> <li><p>щелкните правой кнопкой мыши в нижнем левом поле и выберите «создать новую схему».</p> <p> <a href="http://img204.imageshack.us/img204/7528/adminsx9.th.gif">администратор mysql http://img204.imageshack.us/img204/7528/adminsx9.th.gif</a> <a href="http://img204.imageshack.us/img204/7528/adminsx9.gif">увеличить изображение</a> </p></li> <li><p>назовите новую схему (пример: "dbn")</p> <p> <a href="http://img262.imageshack.us/img262/4374/newwa4.th.gif">новая схема mysql http://img262.imageshack.us/img262/4374/newwa4.th.gif</a> <a href="http://img262.imageshack.us/img262/4374/newwa4.gif">увеличить изображение</a> </p></li> <li><p>откройте командную строку windows (cmd)</p> <p> <a href="http://img206.imageshack.us/img206/941/startef7.th.gif">командная строка windows http://img206.imageshack.us/img206/941/startef7.th.gif</a> <a href="http://img206.imageshack.us/img206/941/startef7.gif">увеличить изображение</a> </p></li> <li><p>перейдите в папку установки mysql</p></li> <li><p>выполнить команду:</p> <pre><code>mysql -u root -p dbn < c:\dbn\_20080912.dump </code></pre> <p>… где «root» - это имя пользователя, «dbn» - это имя базы данных, а «c:\dbn\_20080912.dump» - это путь/имя файла mysqldump .dump.</p> <p> <a href="http://img388.imageshack.us/img388/2489/cmdjx0.th.gif">командная строка восстановления дампа mysql http://img388.imageshack.us/img388/2489/cmdjx0.th.gif</a> <a href="http://img388.imageshack.us/img388/2489/cmdjx0.gif">увеличить изображение</a> </p></li> <li><p>наслаждайтесь!</p></li> </ol>

<p>запустите команду для входа в бд </p><pre><code> # mysql -u root -p </code></pre><p>введите пароль для пользователя затем создайте новую бд </p><pre><code>mysql> create database mynewdb; mysql> exit </code></pre><p>и сделай выход. после этого. запусти эту команду</p><pre><code># mysql -u root -p mynewdb < mynewdb.sql </code></pre><p>затем введите в бд и введите</p><pre><code>mysql> show databases; mysql> use mynewdb; mysql> show tables; mysql> exit </code></pre><p>вот и все ........ ваш дамп будет восстановлен из одной бд в другую бд</p><p><strong> или есть альтернативный способ восстановления дампа </strong></p><pre><code># mysql -u root -p </code></pre><p>затем введите в бд и введите</p><pre><code>mysql> create database mynewdb; mysql> show databases; mysql> use mynewdb; mysql> source mynewdb.sql; mysql> show tables; mysql> exit </code></pre>

<p>вы можете попробовать <a href="http://www.webyog.com">sqlyog</a> «выполнить скрипт sql» для импорта файлов sql/dump. </p><p><img src="https://i.stack.imgur.com/i2zon.png" alt="enter image description here"></p>

<p>если вы хотите просмотреть ход выполнения дампа, попробуйте это:</p><p>pv -i 1 -p -t -e/path/to/sql/dump | mysql -u username -p database\_name</p><p>вам, конечно, нужно установить 'pv'. эта команда работает только на * nix.</p>

<pre><code>./mysql -u <username> -p <password> -h <host-name like localhost> <database-name> < db\_dump-file </code></pre>

<p>в качестве конкретного примера предыдущего ответа:</p><p>мне нужно было восстановить резервную копию, чтобы я мог импортировать/перенести ее в sql server. я установил только mysql, но не зарегистрировал его как службу и не добавил его в свой путь, так как у меня нет необходимости поддерживать его работу. </p><p>я использовал windows explorer, чтобы поместить мой файл дампа в c:\code\dump.sql. затем открыл mysql из пункта меню «пуск». создал бд, затем запустил команду источника с полным путем, вот так:</p><pre><code>mysql> create database temp mysql> use temp mysql> source c:\code\dump.sql </code></pre>

<p>используя файл дампа 200 мб, созданный в linux для восстановления в windows w/mysql 5.5, я добился большего успеха с</p><pre><code>source file.sql </code></pre><p>подход от mysql подскажите, чем с</p><pre><code>mysql < file.sql </code></pre><p>подход в командной строке, что вызвало некоторые ошибки 2006 "сервер ушел" (на окнах)</p><p>как ни странно, служба, созданная во время (mysql) установки, ссылается на файл my.ini, который не существует. я скопировал «большой» файл примера в my.ini , который я уже модифицировал с помощью рекомендованных увеличений. </p><p>мои ценности</p><pre><code>[mysqld] max\_allowed\_packet = 64m interactive\_timeout = 250 wait\_timeout = 250 </code></pre>

<p>вы не можете использовать меню восстановления в mysql admin, если резервная копия/дамп не была создана оттуда. хотя стоит попробовать. если вы решите «игнорировать ошибки» с помощью этого флажка, он скажет, что он завершился успешно, хотя он явно завершает работу с импортированной только частью строк ... это с дампом, учтите.</p>

<p>однострочная команда для восстановления сгенерированного sql из <code>mysqldump</code></p><pre><code>mysql -u <username> -p<password> -e "source <path to sql file>;" </code></pre>

<p>вы также можете использовать меню восстановления в mysql administrator. вам просто нужно открыть файл резервной копии, а затем нажать кнопку восстановления.</p>

<h1>как восстановить базу данных mysql с mysqlworkbench</h1><p>вы можете запустить сброс и создать команды на вкладке запроса.</p><h2>удалите схему, если она существует в данный момент</h2><pre class="lang-sql prettyprint-override"><code>drop database `your\_db\_name`; </code></pre><h2>создать новую схему</h2><pre class="lang-sql prettyprint-override"><code>create schema `your\_db\_name`; </code></pre><h2>откройте файл дампа</h2><p> <a href="https://i.stack.imgur.com/euyhj.png"> <img src="https://i.stack.imgur.com/euyhj.png" alt="mysqlworkbench open sql file"> </a> </p><ol> <li>нажмите <strong>откройте сценарий sql на новой вкладке запроса</strong> и выберите файл дампа базы данных.</li> <li>затем нажмите <strong>запустить сценарий sql ...</strong></li> <li>затем он позволит вам предварительно просмотреть первые строки сценария дампа sql.</li> <li>затем вы выберете <strong>имя схемы по умолчанию</strong></li> <li>затем выберите <strong>набор символов по умолчанию</strong> utf8, как правило, является безопасной ставкой, но вы можете разглядеть ее по просмотру строк предварительного просмотра для чего-то вроде <strong>character\_set</strong>.</li> <li>нажмите <strong>выполнить</strong></li> <li>будьте терпеливы в отношении сценариев восстановления больших бд и наблюдайте, как место на диске тает! ????</li> </ol>