Перенос базы данных MySQL на другой сервер
Недавно встал вопрос переноса сайта с одного хостинга на другой. С сайтами на одном только html и css без баз данных — трудностей возникать не должно. Танцы с бубном начинаются когда вы являетесь счастливым обладателем сайта с базой данных. Сейчас таких сайтов в интернете — подавляющее большинство.
Сами файлы сайта мы можем перенести с помощью обычного копирования с хостинга на хостинг
Для того, чтобы перенести базу данных с одного сервера на другой нам нужно:
1. Скачать дамп базы данных к себе на компьютер (операция Экспорт).
2. Загрузить дамп базы данных на сервер хостинга (операция Импорт).
Сделать это можно несколькими различными способами. Некоторые CMS даже позволяют выполнять данные операции своими внутренними средствами. Также можно воспользоваться дампером баз данных MySQL . Но самый привычный и распространенный способ для переноса баз данных — это перенос средствами панели управления базами данных phpMyAdmin , которые хотелось бы рассмотреть в этой статье.
1. Экспорт базы данных с сервера на свой компьютер.
Нужно зайти в phpMyAdmin того сервера, на котором сейчас находится база данных, которую нам необходимо перенести, и в левой части меню в списке баз данных выберите ту, которую необходимо перенести.
Нужно перейти на вкладку «Экспорт» и выбрать в качестве «Способа экспорта» — Обычный — отображать все возможные настройки.
После этого нужно обратить свое внимание на поля:
1. Во вкладке таблицы должны быть выбраны все таблицы, которые необходимо импортировать. Может быть такая ситуация, когда для переноса баз данных некоторые таблицы при импорте будут не нужны. В таком случае, можно снять выделение с тех таблиц, которые не нужны, выделив необходимые названия таблиц с зажатой клавишей Ctrl на клавиатуре. ( ВАЖНО! Если вы не являетесь опытным пользователем баз данных — лучше выделить все таблицы. )
2. Нужно выбрать пункт «Сохранить вывод в файл».
3. Запомните кодировку, которая установлена в поле — Кодировка файла.
4. Остальные пункты трогать не нужно, если вы не знаете, зачем они нужны.
5. Нажимаем OK, после чего сохраняем файл к себе на компьютер.
2. Импорт базы данных с компьютера на сервер.
Перед тем, как приступить к этому шагу, рекомендую ознакомиться со списком наиболее частых ошибок, которые возникают при загрузке баз данных на новый сервер.
1. Проверяем расширение сохраненной базы дынных у себя на компьютере. Оно должно быть ‘ .sql ‘. Если при сохранении базы данных был указан пункт — архивировать её ( zip, gzip, bzip ) — нужно предварительно извлечь базу данных из архива.
2. Дамп нашей базы данных не должен содержать запросов типа «CREATE DATABASE, /*!40101 SET @OLD» . Убедиться в отсутствии или наличии подобного запроса можно, открыв дамп базы «блокнотом» или другим текстовым редактором. Если подобный запрос присутствует — следует удалить эту строчку и пересохранить файл. Как правило, она находится в первых 15 строчках дампа базы данных.
3. Необходимо убедиться, что в будующей базе данных не создано каких-либо таблиц. Для этого нужно зайти в phpMyAdmin и слева в меню в списке баз данных выбрать свою базу данных. Слева в меню вы можно увидеть сообщение «Таблиц в базе данных не обнаружено.». В случае если таблицы присутствуют — нужно удалить их.
После выполнения всех этих пунктов, смело можно переходить во вкладку «Импорт», в которой нажав на кнопку «Обзор» выбераем сохраненный дамп базы данных с компьютера. В поле «Кодировка файла:» выбераем кодировку, в которой эта база данных была создана.
Более никаких настроек вносить необходимости нет. Нажмите ОК и дожидаемся окончания импорта базы.
База успешно перенесена и после этого наш сайт будет работать уже на новом хостинге!( при условии, что все остальные операции по переносу сайта уже были сделаны).
Как быстро перенести базу данных MySQL с помощью приложений. Перенос базы данных на хостинг
Здравствуйте, дорогие и уважаемые читатели моего блога! Сегодня мне бы хотелось рассказать вам о том, как перенести базу данных mysql на хостинг.
Обойдемся сегодня без красноречивых и длинных вступлений, перейдем непосредственно к делу.
Какие способы копирования базы данных на хостинг существуют?
С уверенностью могу сказать, что однозначно существует множество способов копирования. Но описывать нерациональные и нереально сложные процедуры я не хочу и не буду, так как это не имеет никакого смысла (вряд ли в рядах читателей затаились люди, желающие усложнить себе жизнь).
Поэтому будем отталкиваться от простых и доступных для широких масс вариантов, среди которых:
- Экспорт данных с помощью интерфейса phpMyAdmin через панель управления -провайдера.
- Копирование базы с помощью сторонних программ.
Какой способ лучше?
Я рекомендую первый, которым пользуются профессиональные вебмастера. Единственное, о чем стоит помнить – это то, что алгоритм установки может отличаться, так как у каждого хостинга своя индивидуальная панель управления.
Второй вариант, хоть и не вызывает сложностей, но я его не советую использовать! Доверять информацию о вашем веб-ресурсе сторонним программам действительно плохая затея.
Пошаговая инструкция создания базы данных на новом хостинге
Начнем с того, что описывать процедуру создания самой базы данных mysql я не буду, так как скорее всего, приняв решение импортировать ее на hosting, вы побеспокоились о ее создании ранее. А значит, готовы приступить к выполнению общего алгоритма создания БД на хостинге, который предполагает:
- Активацию личного кабинета на арендуемом хостинге.
- Поиск в меню раздела «MySQL», «База данных» или похожего по названию меню.
- Непосредственное создание базы данных на хостинге.
Для этого нужно нажать кнопку «Создать». Прописываем новое название для базы, привязываем к ней пользователя (зачастую хостинг-провайдер автоматически создает пользователя, но иногда эту операцию следует проводить самому. Поэтому, если так получилось, не забудьте активировать наивысший уровень прав доступа данному аккаунту).
Переносим базу данных MуSQL со старого хостинга на компьютер
Сейчас предлагаю перейти к шагу, который опытные юзеры называют дампом базы данных. А конкретнее сохраним текущую базу со старого хостинга к себе на компьютер.
Примечание ! Дамп – это функциональный файл, целью создания которого является упрощение процедуры переноса информации с БД.
Импортируем данные МуSQL на новый хостинг
- Тем же способом, что и в предыдущем разделе заходим в административную панель хостинга.
- Выбираем необходимую нам базу данных (ту что мы создали еще в самом начале).
- Кликаем вкладку «Импорт».
- Жмем «Обзор» и указываем местоположение сохраненного ранее на ваш компьютер файла с хранилищем.
- Проверяем аналогичность кодировки с той, которая была применена при сохранении файла (7 пункт предыдущего раздела).
- Оставляем неизменными все остальные настройки и завершаем процесс копирования данных на новый хостинг-сервер.
Решение возможных проблем
Убедитесь, что перед началом импорта материалов на новый hosting в файле хранилища нет запросных фраз «CRЕАTE DАTАBАSЕ». Для этого откройте его любой текстовой программой (можно блокнотом или ворд падом) и через Ctrl+F (с помощью поиска по тексту) найдите эти запросы, и в случае обнаружения просто удалите их.
Надеюсь, что все понятно?! Выполняя пошагово предложенные инструкции, у вас не должно возникнуть сложностей.
Делитесь полезными статьями моего блога в социальных сетях с друзьями, подписывайтесь на обновления и до скорых встреч!
С уважением! Абдуллин Руслан
Наши файлы сайта благополучно закачиваются на хостинг. Не будем терять время и перенесём существующую базу данных (БД) с локалки на сервер.
Для этого заходим в PhpMyAdmin. Кто забыл где это находится, посмотрите .
Видим нашу БД (mebelip) и кликаем по названию.
Перед нами открылось окно с множеством данных, которые новичку абсолютно ничего говорят. Но это нам сейчас и не надо.
Мы просто нажимаем на вкладку «Экспорт».
Напомню, по умолчанию OpenServer открывается в браузере Хром. Поэтому в левом, нижнем углу видим скачанный файл. Запомните, куда Вы сохранили его, в скором времени он нам понадобится.
Кликаем по нему.
Ради интереса, можете посмотреть, какая «секретная» информация находится в нём. Открывается простым «Блокнотом».
Всё, с локальным сервером закончили. Переходим в админ панель Вашего аккаунта на хостинге.
Здесь нас интересует вкладка «MySQL».
Нажимаем кнопку «Добавить MySQL пользователя». По умолчанию, он уже создан. Но я рекомендую создать нового, конкретно для данного сайта.
В будущем, когда у Вас здесь будет уже не один сайт, это поможет избежать путаницы.
Появилось всплывающее окно, в нём прописываем имя пользователя. Оно состоит из двух частей, первая – host1234567 (цифры конкретно будут Ваши), неизменная часть, а вот во вторую, пишем свою информацию.
У меня, для дальнейшего удобства, это будет «meb». Так я не запутаюсь, и точно буду знать, что это относится к мебельному сайту.
Пароль можно поставить свой.
Видим, появился новый пользователь, но к нему не привязана БД.
Теперь создадим непосредственно саму БД.
Нажимаем на вкладку «База данных MySQL».
Кнопка «Добавить базу данных MySQL».
Во всплывающем окне прописываем название. Для удобства лучше прописать те же данные, что и в имени пользователя.
Появилась БД, прикреплённая к пользователю, которого мы перед этим создали.
Запишите где-нибудь эту информацию, т.е. имя пользователя и БД, и пароль, если Вы его меняли. Всё это понадобится в следующем уроке.
Нажимаем на «phpMyAdmin».
Слева, нажимаем на БД установленную по умолчанию.
Находим нашу, вновь созданную, и так же открываем её.
Находим вверху вкладку «Импорт» – клик.
Недавно встал вопрос переноса сайта с одного хостинга на другой. С сайтами на одном только html и css без баз данных — трудностей возникать не должно. Танцы с бубном начинаются когда вы являетесь счастливым обладателем сайта с базой данных. Сейчас таких сайтов в интернете — подавляющее большинство.
Сами файлы сайта мы можем перенести с помощью обычного копирования с хостинга на хостинг
Для того, чтобы перенести базу данных с одного сервера на другой нам нужно:
1. Скачать дамп базы данных к себе на компьютер (операция Экспорт).
2. Загрузить дамп базы данных на сервер хостинга (операция Импорт).
Сделать это можно несколькими различными способами. Некоторые CMS даже позволяют выполнять данные операции своими внутренними средствами. Также можно воспользоваться дампером баз данных MySQL . Но самый привычный и распространенный способ для переноса баз данных — это перенос средствами панели управления базами данных , которые хотелось бы рассмотреть в этой статье.
1. Экспорт базы данных с сервера на свой компьютер.
Нужно зайти в того сервера, на котором сейчас находится база данных, которую нам необходимо перенести, и в левой части меню в списке баз данных выберите ту, которую необходимо перенести.
Нужно перейти на вкладку «Экспорт » и выбрать в качестве «Способа экспорта » — Обычный — отображать все возможные настройки.
После этого нужно обратить свое внимание на поля:
1. Во вкладке таблицы должны быть выбраны все таблицы, которые необходимо импортировать. Может быть такая ситуация, когда для переноса баз данных некоторые таблицы при импорте будут не нужны. В таком случае, можно снять выделение с тех таблиц, которые не нужны, выделив необходимые названия таблиц с зажатой клавишей Ctrl на клавиатуре. (ВАЖНО! Если вы не являетесь опытным пользователем баз данных — лучше выделить все таблицы. )
2. Нужно выбрать пункт «Сохранить вывод в файл».
3. Запомните кодировку, которая установлена в поле — Кодировка файла.
4. Остальные пункты трогать не нужно, если вы не знаете, зачем они нужны.
5. Нажимаем OK, после чего сохраняем файл к себе на компьютер.
2. Импорт базы данных с компьютера на сервер.
1. Проверяем расширение сохраненной базы дынных у себя на компьютере. Оно должно быть ‘.sql ‘. Если при сохранении базы данных был указан пункт — архивировать её (zip, gzip, bzip ) — нужно предварительно извлечь базу данных из архива.
2. Дамп нашей базы данных не должен содержать запросов типа «CREATE DATABASE, /*!40101 SET @OLD » . Убедиться в отсутствии или наличии подобного запроса можно, открыв дамп базы «блокнотом» или другим текстовым редактором. Если подобный запрос присутствует — следует удалить эту строчку и пересохранить файл. Как правило, она находится в первых 15 строчках дампа базы данных.
3. Необходимо убедиться, что в будующей базе данных не создано каких-либо таблиц. Для этого нужно зайти в и слева в меню в списке баз данных выбрать свою базу данных. Слева в меню вы можно увидеть сообщение «Таблиц в базе данных не обнаружено.». В случае если таблицы присутствуют — нужно удалить их.
После выполнения всех этих пунктов, смело можно переходить во вкладку «Импорт», в которой нажав на кнопку «Обзор» выбераем сохраненный дамп базы данных с компьютера. В поле «Кодировка файла:» выбераем кодировку, в которой эта база данных была создана.
Более никаких настроек вносить необходимости нет. Нажмите ОК и дожидаемся окончания импорта базы.
База успешно перенесена и после этого наш сайт будет работать уже на новом хостинге!(при условии, что все остальные операции по переносу сайта уже были сделаны).
У вас есть база данных MS SQL Server, которую нужно перенести на другой физический комп. Вы уже сделали бэкап и радостно приступаете к восстановлению. Но тут обнаруживается, что на том компе, куда нужно перенести базу, установлена более старая версия MS SQL Server. Stack Overflow уверяет вас, что всё плохо. Но так ли это на самом деле?
Конечно, перенос базы из более новой версии в старую — это не классический и не самый правильный сценарий работы. Но зачастую базы данных создаются такими, что они поддерживают все более новые версии SQL, начиная с какой-то, например с 2008 R2, т.к. прямая совместимость у MS SQL более чем отличная. И, например, ваш клиент уже поставил себе MS SQL 2016, а у вас на тестовом сервере для разработки стоит MS SQL 2014. А вы хотите развернуть себе базу клиента, чтобы разобраться, где у него путаница с данными.
Microsoft открестились от проблемы — мол нет у них обратной совместимости, и баста. Резервную копию, созданную в более новом сервере, невозможно восстановить на более старом сервере. Да, у них есть инструменты типа DTS, копирование базы, экспорт-импорт и т.п. Но они настолько неудобны и громоздки, что нормальный перенос большой БД с множеством таблиц сделать с их помощью не особо удобно. Во всяком случае лично у меня не получилось.
Да, можно сгенерировать SQL-скрипты всей базы, включая данные. Но представьте, у вас в базе куча блоб-полей с большими данными, и вообще размер всей базы 500+ ГБ. Представляете, сколько будет занимать такой скрипт, сколько времени он будет генерироваться и исполняться.
Ограничение номер один заключается в том, что вам нужен доступ через MS SQL Management Studio к обоим серверам — старому и новому. Если это не возможно, то должна быть возможность на той машине, откуда нужно перенести базу, установить ту версию SQL, в которую нужно перенести базу, чтобы перенести базу сначала в эту версию локально, а потом уже перетащить её через бэкап или непосредственно через *df файлы базы данных (через Detach/Attach) на новую машину (версия SQL Server»а в этом случае уже будет совпадать).
Еще одним ограничением является то, что вам будет необходим скрипт схемы базы данных (всех объектов, включая таблицы, индексы, констрейнты, хранимые процедуры, триггеры и т.п.) без данных, причем инструкции создания Foreign Key Constraints должны в этом скрипте идти в самом конце, отдельно от скрипта создания самих таблиц.
Опишу кратко сам алгоритм переноса данных. Все действия выполняются в сеансе Management Studio, подключенной к серверу, на который нужно перенести базу.
1) На новом сервере создаем пустую базу данных с такими же файлами и файловыми группами, как переносимая база.
2) Скриптом схемы базы данных создаем все объекты базы (таблицы, индексы, представления, триггеры, хранимые процедуры и функции), но без создания Foreign Key Constraints. Создавать FK на этом этапе нельзя, т.к. они будут мешать вставке данных.
3) Подключаем базу данных, из которой будем переносить данные, в качестве Linked Server»а, чтобы можно было использовать в запросах к новой базе данных обращения к старой базе данных.
EXEC sp_addlinkedserver @server=N»LinkedServerAlias», @srvproduct=N»», @provider=N»SQLNCLI», @datasrc=N»LinkedServerHost\LinkedServerName»; EXEC sp_addlinkedsrvlogin «LinkedServerUser», «false», null, «RealUser», «RealUserPassword»;
4) Т.к. структуры баз совпадают, воспользуемся встроенной хранимой процедурой sp_msforeachtable, которая позволяет выполнить запрос над каждой таблицей БД, чтобы сгенерировать скрипт переноса данных из старой базы в новую через запрос вида
INSERT INTO ? SELECT * FROM ?
Вместо знака вопроса sp_msforeachtable подставляет имя каждой таблицы и выполняет запрос несколько раз (по одному разу на каждую таблицу).
Здесь я натолкнулся на самое большое количество граблей.
А) Проблема номер один заключается в том, что для таблиц с IDENTITY-полями необходимо вызывать:
SET IDENTITY_INSERT ON; —INSERT INTO . (сама вставка); SET IDENTITY_INSERT OFF;
б) Проблема номер два заключается в том, что на таблицах, в которых нет IDENTITY-полей, делать данный вызов нельзя, поэтому требуется динамически определять, есть в таблице IDENITY-колонка или нет.
Это можно сделать таким запросом:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE (TABLE_NAME=»SomeTable») AND (COLUMNPROPERTY(object_id(«dbo.SomeTable»), COLUMN_NAME, «IsIdentity») = 1)
в) Проблема номер три заключается в том, что, как оказалось, в режиме IDENITY_INSERT ON нельзя делать
INSERT INTO . SELECT * FROM .
, а нужно перечислять конкретные поля.
Перечислить поля таблицы в строку можно таким запросом:
SELECT SUBSTRING((SELECT «, » + QUOTENAME(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = «SomeTable» ORDER BY ORDINAL_POSITION FOR XML path(«»)), 3, 200000);
4) Генерируем скрипт вставки по все таблицы:
Процедура генерации скрипта
EXEC sp_msforeachtable N» DECLARE @command varchar(MAX); DECLARE @name varchar(200); SET @name=»»?»»; SET @name = SUBSTRING(@name, 8, LEN(@name)-8); SET @command = «»»»; SELECT @command= SUBSTRING((SELECT «», «» + QUOTENAME(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = «»»» + @name + «»»» ORDER BY ORDINAL_POSITION FOR XML path(«»»»)), 3, 200000); SET @command = «»INSERT INTO «»+ @name +»» («»+ @command + «») SELECT «» + @command + «» FROM «» + «»LinkedServerAlias.SourceDatabase.»» + «»?»»; SET @command= «»IF EXISTS (select * from INFORMATION_SCHEMA.COLUMNS where (TABLE_NAME=»»»»»» + @Name + «»»»»») AND (COLUMNPROPERTY(object_id(«»»»dbo.»»[email protected]+»»»»»»), COLUMN_NAME, «»»»IsIdentity»»»») = 1)) SET IDENTITY_INSERT «» + @name + «» ON; «» [email protected]; SET @[email protected]+»»;»» + «»IF EXISTS (select * from INFORMATION_SCHEMA.COLUMNS where (TABLE_NAME=»»»»»» + @Name + «»»»»») AND (COLUMNPROPERTY(object_id(«»»»dbo.»»[email protected]+»»»»»»), COLUMN_NAME, «»»»IsIdentity»»»») = 1)) SET IDENTITY_INSERT «» + @name + «» OFF;»»; PRINT (@command); —EXEC(@command); // Если раскомментировать, скрипт будет сразу исполняться, а не только выводиться на экран »
5) Исполняем сгенерированный скрипт переноса данных
6) Исполняем скрипт на создание всех Foreign Key Constraints (теперь уже можно).
7) Готово! Вы перенесли базу из нового сервера SQL в старый, хоть это и считалось невозможным. Причем перенос осуществляется всего лишь раза в полтора медленнее, чем скорость передачи данных по сети, т.е. довольно быстро.
8) Прибираемся за собой (отключаем Linked Server):
EXEC sp_droplinkedsrvlogin «LinkedServerUser», null; sp_dropserver «LinkedServerAlias»;
Ограничения метода.
1) Подобным методом не получится перенести таблицы, в которых есть колонки с типом XML.
Наверняка есть множество других ограничений, т.к. в той базе, которую я переносил подобным способом, не использовалось множество возможностей SQL-сервера. Вы можете написать об ограничениях в комментариях, и я дополню ими статью.
Спасибо за внимание! Надеюсь, кому-то поможет.
Под переносом базы данных будем понимать процедуру смены сервера InterBase как в сторону увеличения порядкового номера, так и в сторону его уменьшения, а также переход на другую операционную систему или аппаратную платформу. В некоторых источниках процедуру переноса базы данных называют миграцией.
К настоящему времени используются версии InterBase от 4.x до 6.x, причем в шестой версии база данных может быть создана в диалекте 1 или в диалекте 3. В общем случае переход от младшей версии InterBase к старшей не требует каких-то специальных действий, и базы данных работают нормально, но при этом пользователь не может воспользоваться дополнительными услугами, которые предоставляются старшей версией. В случае же выполнения процедуры переноса базы данных можно будет воспользоваться дополнительными услугами. Что же касается диалектов версии 6.x, то в них некоторые типы данных интерпретируются по-разному. Например, в ранних версиях InterBase и в диалекте 1 версии 6.x определен один тип даты Date, значение которого в начале содержит дату, а затем время. В диалекте 3 версии 6.x определены три типа — Timestamp, который полностью соответствует типу Date, определенному в ранних версиях; тип Date, который содержит значения только дат, и тип Time, который содержит значения времени.
При выполнении процедуры переноса базы данных автоматическая замена типа даты выполняется только в определениях доменов. Тип даты в метаданных заменяется вручную.
Каждая операционная система собственным способом интерпретирует каждый тип данных. При инсталляции сервера InterBase любой версии выполняется его настройка на соответствующую операционную систему и аппаратную среду.
Таким образом, каждая база данных имеет «привязку» к версии сервера InterBase, к операционной системе и аппаратной среде.
Этим и объясняется необходимость выполнения процедуры переноса базы данных.
Из сказанного выше становится ясно, что создание резервной копии базы данных с включением параметра Transportable приводит к включению в файл резервной копии сведений о версии InterBase операционной системы и аппаратной среды, в которых создавалась и эксплуатировалась база данных.
При переносе базы данных на другой персональный компьютер сервер InterBase читает файл резервной копии и корректно выполняет преобразование типов данных, если это необходимо, и выполняет настройки на новую версию InterBase операционный системы и аппаратной среды.
Следует иметь в виду, что возможен переход только на следующую по порядку версию InterBase как в возрастающем, так и в убывающем направлениях.
При переносе базы данных на две или три версии выше (или ниже) необходимо процедуру переноса выполнить для каждой промежуточной версии ІМегВазе.
Для смены диалекта (например, с первого на третий) надо либо пересоздать базу данных, либо воспользоваться утилитой у/іх.
Алгоритм процедуры переноса базы данных
а. Создать файл резервной копии базы данных. Файл создается одним из способов, рассмотренных выше. Желательно проверить, корректно ли создался файл резервной копии. Для этого на том же персональном компьютере развернуть в другом каталоге базу данных и проверить ее работоспособность.
б. Создать файл копии зарегистрированных пользователей на сервере InterBase. Следует помнить, что сведения о пользователях хранятся в файле isc4.gdb на сервере InterBase и в самой базе данных. Для копирования файла iscA.gdb можно воспользоваться той же самой утилитой gbak.
Пример 12.7. Копирование файла зарегистрированных пользователей базы данных.
gbak -b -user SYSDBA -password masterkey C:IBServeisc4.gdb C:isc4.gdk
в. Переустановить сервер InterBase или перейти на другой персональный компьютер. После переустановки сервера на персональном компьютере (или переходе на другой персональный компьютер) необходимо файл iscA.gdb восстановить с помощью той же утилиты gbak.
Важно помнить, что при переходе на высшую версию InterBase все клиенты, зарегистрированные в следующей низшей версии InterBase, будут работать нормально (но без дополнительных возможностей), а в более старших — неустойчиво.
Для таких клиентов целесообразно переустановить клиентскую часть InterBase на персональных компьютерах клиентов.
Пример 12.8. Перенос файла зарегистрированных пользователей базы данных.
gbak -с -user SYSDBA -password masterkey C:isc4.gdk C:isc4.gdb
В примерах 12.7 и 12.8 имелось в виду, что выполняется замена версии InterBase на одном компьютере.
г. Восстановить (перенести) базу данных одним из способов, описанных выше.
Предложенный выше алгоритм надежно работает при повышении версии InterBase. Если же надо понизить номер версии InterBase , то для выполнения этой операции необходимо иметь два персональных компьютера: первый — с работающей базой данных на старшей версии InterBase, второй — с установленным сервером InterBase низшей версии. Запускаем процедуру создания резервной копии базы данных (п. «а» алгоритма) со второго компьютера. При этом будет создан файл резервной копии в низшей версии. Но возможны следующие варианты:
- в старшей версии InterBase при создании и эксплуатации базы данных не использовались механизмы, которые отсутствуют в младшей версии InterBase, тогда будет создана полноценная работающая копия базы данных в младшей версии InterBase»,
- в базе данных использовались оригинальные механизмы старшей версии InterBase, тогда будет получена копия базы данных и протокол обнаруженных ошибок. И ошибки по-еле восстановления базы данных в низшей версии InterBase придется исправлять вручную.
Для надежной работы базы данных необходимо обеспечить одинаковую версию и диалект сервера InterBase и клиентской части InterBase у каждого клиента.
Клиенты всех версий InterBase , в отличие от клиентов, работающих с диалектом 3 версии 6.x, не имеют доступа:
К ключевым словам:
CURRENTDATE CURRENTTIME CURRENT_ TIMESTAMP COLUMN
К идентификаторам, заключенным в кавычки.
Сравнение интерфейсов SCSI, SATA, IDE (интерфейсы жестких дисков)
Учебное пособие по PAINT
Gts 250 inno3d 1gb пропускная способность
Команда NET USE подключение сетевого диска
Как перенести сайт с одного хостинга на другой? Перенос сайта на другой хостинг PHP MySQL
Недавно написал я статью про конец света, и вскоре с данным сайтом стало твориться что-то неладное. Два дня подряд он по несколько часов или жутко тормозил, или просто был недоступен.
Такое бывало и ранее, но переносить его на другой хостинг мне не хотелось, т.к. очень много уже «залито» разных важных файлов, создано несколько почтовых ящиков и поддоменов. А делегировать перенос сайта кому-либо мне не хотелось из-за психологических предрассудков
В общем, заниматься этим не хотел, но за последние несколько дней из-за проблем с хостингом заметно упал трафик с поисковиков, так что я решил, что пора. В разное время приходилось уже «переезжать», но сейчас получилось как-то всё долго и немного проблемно — до сих пор техническая служба разбирается с почтовыми ящиками (они не шлют письма).
В чём вообще были проблемы со старым хостингом? Да на самом деле, никаких, кроме того, что сайты постоянно DDoS’или (особым образом атаковали) и те ресурсы, на которых не была направлена атака, тем не менее, страдали от неё — тормозили или вырубались вовсе. А также бывали периодические проблемы с маршрутизаторами.
Старого хостера для данного сайта я даже рекомендовал в статье «почему спам — плохо?«. При совсем небольшой цене, на нём можно:
- разместить неограниченное число сайтов (доменов)
- с неограниченным числом баз данных,
- неограниченным числом почтовых ящиков
- и неограниченным трафиком.
Почти всё не ограничено, кроме свободного места — 1 Гб. Но это очень много для статейных сайтов (а для крупных файлов всё равно лучше использовать облачные хранилища).
Ещё там есть возможность недорого купить домены и компетентная тех.поддержка. Да и сервер, на котором располагались мои сайты имеет 16 Гб ОЗУ, так что всё там быстро и удобно.
Но вся проблема в том, что этот хостер размещает ресурсы на серверах в Hetzner (крупнейшая европейская хостинговая компания с огромным дата-центром), и то ли Hetzner предоставил плохое оборудование, то ли что-то ещё, но сайт иногда по три раза в день бывал недоступен на 3-10 минут. Ну и постоянные DDoS-атаки.
Поэтому я решил перенести всё на выделенный сервер и к той компании, которая бы использовала подконтрольное ей техническое оборудование.
Сначала решил «податься» к уважаемому мной хостингу Timeweb.ru (я и сейчас всем его рекомендую), но лично мне хотелось, чтоб этот мой проект находился бы за пределами РФ. А timeweb размещает сервера в Санкт-Петербурге.. Если вам всё равно, где «географически» находятся ваши сайты, то смело пользуйтесь timeweb — мощности у них хорошие, да и пинг сайта будет, естественно, меньше.
Но я подумал «опробовать» компанию Fornex.com, давно к ним присматривался (компания — в Испании, сервера — в Германии, сайт — на русском). Причём, для быстроты дела, решил взять обычный виртуальный хостинг (пока на месяц, но, как оказалось, при заказе на месяц — дают два ). И пока это самый быстрый хостинг, который мне доводилось пробовать. Подробный отзыв про Fornex.com как-нибудь ещё напишу, пусть пока разберутся с почтовыми ящиками (up: разобрались как статью дописал; очень качественно :)) .
В общем, процесс переезда я подробно «отскриншотил» (для истории), так что в данной статье расскажу стандартный алгоритм переноса сайта с одного на другой хостинг в картинках.
Нужно отметить, что я напишу именно про хостинг PHP MySQL (а не IIS, Java и т.п) — т.к. это самый распространённый вариант.
Как перенести сайт с одного хостинга на другой?
Всё довольно просто, но может получиться долго. Если ваш ресурс не использует БД (базу данных), то нужно выполнить всего два шага, а так их три:
- переносим файлы сайта со старого хостинга на новый;
- также переносим БД;
- меняем DNS для связки доменного имени с новым сервером.
Теперь расскажу обо всём по порядку.
Перенос файлов сайта на другой хостинг со старого
Делать это предлагаю не посредством FTP, а через веб-интерфейс Панели управления, потому что большое количество файлов по FTP передаётся очень долго. Мне повезло — у обоих хостеров используется панель ISPmanager одной версии. Но если в вашем случае они отличаются — сути это не меняет.
В панели старого PHP MySQL хостинга (с которого уходим)
Сначала надо скопировать всю папку с сайтом к себе на компьютер. Как правило, папка автоматически архивируется в .tgz формат и сразу скачивается. Показываю на примере ISPmanager, но в других ПУ всё аналогично:
Выделяем папку с файлами сайта…
Далее можно сразу закачать эти файлы на новый хостинг. Но лучше так не делать — у некоторых хостеров к названию БД и имени пользователя БД добавляется специальный префикс, поэтому необходимо в скачанной ранее папке с файлами сайта найти конфигурационный файл и изменить в нём БД/имя пользователя БД. А для этого надо создать новую БД, чтобы узнать этот префикс (об этом — далее).
Чтобы затем опять не возвращаться в ПУ старого хостинга, лучше сразу скачать к себе на компьютер БД. Сделать это можно обычным способом — через phpMyAdmin, путём экспорта её в файл:
Экспорт старой базы данных в файл
— щёлкаем вкладку «Экспорт» и жмём «OK» в правом нижем углу. Вся ваша БД теперь «соберётся» в обычный текстовый файл с расширением .sql. Этот файл может оказаться неожиданно большим..
А можно (если позволяет ПУ) просто зайти в соответствующий раздел панели и сразу скачать её на компьютер:
Скачиваем БД через ISPmanager
Больше в данную ПУ возвращаться не потребуется.
В панели нового хостинга (куда нужно переносить сайт)
Создаём новую БД — прописываем её название, имя пользователя и пароль:
Переходим к созданию БД на новом хостинге…
Теперь, создав БД, можно внести её данные в конфиг.файл. Если сайт ваш создан на WordPress, то этот файл называется wp-config.php и лежит в корневой директории — т.е. его можно найти в архиве, который мы скачали ранее:
Правка config-файла в WordPress
Так что разархивируем скачанное, правим файл и сохраняем изменения. И теперь вновь создаём архив из всех файлов сайта. В Windows проще всего сделать .zip-архив — для этого выделяем все файлы в папке (CTRL+A) и щёлкаем правой кнопкой мышки по любому из них:
Архивируем все файлы
Как будет назван архив — не важно. Но не стоит прямо сейчас закидывать его на другой хостинг. Дело в том, что когда в ПУ будет создан новый домен, то он автоматически создаст папку с новым доменным именем — вот в неё потом и закинем файлы этого архива.
Создаём новый домен в ПУ хостинга и переносим БД
Теперь можно забыть о старом хостинге и остаться в ПУ нового.
Сперва заходим в phpMyAdmin (в созданную БД) и делаем импорт той другой БД, которую мы сохранили на компьютер:
Импорт базы данных в phpMyAdmin
— выбираем файл со старой БД и жмём «OK» (справа внизу). Импорт большой БД может затянуться..
Всё, с БД покончено. Теперь осталось создать домен в ПУ:
Создаём новый домен в ISPmanager
Здесь всё просто, в разных ПУ выглядит по-разному. После создания домена появится папка в корневой директории нашего хостинг-аккаунта, имя этой папки = домен переносимого сайта. В неё-то и нужно закачать архив с файлами, который мы делали ранее .
Для этого в файловом менеджере находим папку с именем домена, открываем и закачиваем в неё архив — он у меня назвался readme.zip, но это не важно:
Закачиваем архив в ISPmanager
После успешной закачки надо разархивировать находящиеся в нём файлы:
Распаковываем архив в ISPmanager
После распаковки — архив удаляем (чтоб не мешал).
На данном этапе перенос сайта на другой хостинг почти закончен:
- файлы лежат там, где надо
- то же самое с БД
Теперь нужно «связать» новый сервер с нашим доменным именем.
Прописываем DNS
Чтобы указать новые DNS (их должен был сообщить хостер), надо перейти в панель управления доменного регистратора (большую часть всех доменов я держу на 2domains.ru) и указать там не менее 2-х DNS от хостера:
Меняем DNS домена на 2domains.ru (он недавно сменил внешний вид)
В общем-то и всё, перенос завершён, остаётся подождать, пока произойдёт эта «связка».
У некоторых хостеров ещё требуется добавить домен в аккаунт хостинга, в Fornex.com то же самое:
Добавляем домен в аккаунт на хостинге
Вот теперь точно всё. Хотя нет…
Желательно ещё раз заглянуть в папку с файлами нашего сайта и поискать, нет ли там файла index.html. Если ваш сайт сделан на PHP, то должен быть index.php (скорей всего). Поэтому удалите тот файл (.html), иначе, даже после «связывания» нового сервера с доменным именем, можно будет увидеть т.н. «заглушку» хостера:
Ну вот, с помощью таких простых и нудных действий мы перенесли сайт с одного хостинга на другой. Логично, что часто делать эту процедуру не захочется. Поэтому желательно сразу выбрать «добротного» хостера (иногда может понадобиться абузоустойчивый хостинг) и не отвлекаться на подобные вещи.
Как быстро перенести базу данных MySQL с помощью приложений. Перенос базы данных на хостинг
Недавно встал вопрос переноса сайта с одного хостинга на другой. С сайтами на одном только html и css без баз данных — трудностей возникать не должно. Танцы с бубном начинаются когда вы являетесь счастливым обладателем сайта с базой данных. Сейчас таких сайтов в интернете — подавляющее большинство.
Сами файлы сайта мы можем перенести с помощью обычного копирования с хостинга на хостинг
Для того, чтобы перенести базу данных с одного сервера на другой нам нужно:
1. Скачать дамп базы данных к себе на компьютер (операция Экспорт).
2. Загрузить дамп базы данных на сервер хостинга (операция Импорт).
Сделать это можно несколькими различными способами. Некоторые CMS даже позволяют выполнять данные операции своими внутренними средствами. Также можно воспользоваться дампером баз данных MySQL . Но самый привычный и распространенный способ для переноса баз данных — это перенос средствами панели управления базами данных , которые хотелось бы рассмотреть в этой статье.
1. Экспорт базы данных с сервера на свой компьютер.
Нужно зайти в того сервера, на котором сейчас находится база данных, которую нам необходимо перенести, и в левой части меню в списке баз данных выберите ту, которую необходимо перенести.
Нужно перейти на вкладку «Экспорт » и выбрать в качестве «Способа экспорта » — Обычный — отображать все возможные настройки.
После этого нужно обратить свое внимание на поля:
1. Во вкладке таблицы должны быть выбраны все таблицы, которые необходимо импортировать. Может быть такая ситуация, когда для переноса баз данных некоторые таблицы при импорте будут не нужны. В таком случае, можно снять выделение с тех таблиц, которые не нужны, выделив необходимые названия таблиц с зажатой клавишей Ctrl на клавиатуре. (ВАЖНО! Если вы не являетесь опытным пользователем баз данных — лучше выделить все таблицы. )
2. Нужно выбрать пункт «Сохранить вывод в файл».
3. Запомните кодировку, которая установлена в поле — Кодировка файла.
4. Остальные пункты трогать не нужно, если вы не знаете, зачем они нужны.
5. Нажимаем OK, после чего сохраняем файл к себе на компьютер.
2. Импорт базы данных с компьютера на сервер.
1. Проверяем расширение сохраненной базы дынных у себя на компьютере. Оно должно быть ‘.sql ‘. Если при сохранении базы данных был указан пункт — архивировать её (zip, gzip, bzip ) — нужно предварительно извлечь базу данных из архива.
2. Дамп нашей базы данных не должен содержать запросов типа «CREATE DATABASE, /*!40101 SET @OLD » . Убедиться в отсутствии или наличии подобного запроса можно, открыв дамп базы «блокнотом» или другим текстовым редактором. Если подобный запрос присутствует — следует удалить эту строчку и пересохранить файл. Как правило, она находится в первых 15 строчках дампа базы данных.
3. Необходимо убедиться, что в будующей базе данных не создано каких-либо таблиц. Для этого нужно зайти в и слева в меню в списке баз данных выбрать свою базу данных. Слева в меню вы можно увидеть сообщение «Таблиц в базе данных не обнаружено.». В случае если таблицы присутствуют — нужно удалить их.
После выполнения всех этих пунктов, смело можно переходить во вкладку «Импорт», в которой нажав на кнопку «Обзор» выбераем сохраненный дамп базы данных с компьютера. В поле «Кодировка файла:» выбераем кодировку, в которой эта база данных была создана.
Более никаких настроек вносить необходимости нет. Нажмите ОК и дожидаемся окончания импорта базы.
База успешно перенесена и после этого наш сайт будет работать уже на новом хостинге!(при условии, что все остальные операции по переносу сайта уже были сделаны).
Иногда возникает необходимость перенести SQL базу данных с одного SQL-сервера на другой. Обычно процесс переноса данных заключается в создании резервной копии базы данных и восстановлении ее на другом SQL-сервере. Однако, казалось бы, в такой простой операции могут возникать разного рода трудности. В данной статье мы попробуем разобраться с некоторыми из них.
1. Если база данных с таким именем уже существует
Если при переносе базы данных обнаружится, что база данных с таким именем уже существует, или при восстановлении возникает ошибка, что файл базы данных с таким именем уже существует, требуется вручную указать новое имя базы данных и/или папку, в которой будут размещаться физические файлы БД. Это можно сделать в SQL Server Managment Studio, указав при восстановлении новое имя базы данных на закладке Общие
и папку, в которой должны будут размещаться файлы БД (закладка Файлы)
2. Перенос базы данных Альта-ГТД вместе с дополнительными базами ЭД
Если требуется перенести базу данных Альта-ГТД вместе с дополнительными базами ЭД, то необходимо:
1. Создать средствами программы Альта-ГТД резервную копию базы данных вместе с дополнительными базами. Для этого необходимо выполнить Сервис — Администратор SQL — Бэкап SQL базы данных, после чего утвердительно ответить на вопрос о необходимости резервного копирования дополнительных ЭД-баз. После того, как операция по созданию резервных копий дополнительных баз будет завершена, программа выдаст информационное окно с описанием всех созданных бэкап-файлов. Эти файлы, а также бэкап-файл рабочей базы данных необходимо перенести на другой SQL-сервер.
2. Восстановить базы данных из резервных копий. Если на сервере уже имеется БД с таким названием, то ее необходимо восстановить с другим названием (см. раздел 1).
3. Если при восстановлении была переименована рабочая база данных, тогда необходимо для всех дополнительных баз выполнить скрипт:
4. Если при восстановлении была переименована одна или несколько дополнительных баз, то для каждой из них необходимо выполнить скрипт
UPDATE [Имя_Основной_Базы].. SET = «Новое_Имя_Доп_Базы» WHERE = «Старое_Имя_Доп_Базы»
Наши файлы сайта благополучно закачиваются на хостинг. Не будем терять время и перенесём существующую базу данных (БД) с локалки на сервер.
Для этого заходим в PhpMyAdmin. Кто забыл где это находится, посмотрите .
Видим нашу БД (mebelip) и кликаем по названию.
Перед нами открылось окно с множеством данных, которые новичку абсолютно ничего говорят. Но это нам сейчас и не надо.
Мы просто нажимаем на вкладку «Экспорт».
Напомню, по умолчанию OpenServer открывается в браузере Хром. Поэтому в левом, нижнем углу видим скачанный файл. Запомните, куда Вы сохранили его, в скором времени он нам понадобится.
Кликаем по нему.
Ради интереса, можете посмотреть, какая «секретная» информация находится в нём. Открывается простым «Блокнотом».
Всё, с локальным сервером закончили. Переходим в админ панель Вашего аккаунта на хостинге.
Здесь нас интересует вкладка «MySQL».
Нажимаем кнопку «Добавить MySQL пользователя». По умолчанию, он уже создан. Но я рекомендую создать нового, конкретно для данного сайта.
В будущем, когда у Вас здесь будет уже не один сайт, это поможет избежать путаницы.
Появилось всплывающее окно, в нём прописываем имя пользователя. Оно состоит из двух частей, первая – host1234567 (цифры конкретно будут Ваши), неизменная часть, а вот во вторую, пишем свою информацию.
У меня, для дальнейшего удобства, это будет «meb». Так я не запутаюсь, и точно буду знать, что это относится к мебельному сайту.
Пароль можно поставить свой.
Видим, появился новый пользователь, но к нему не привязана БД.
Теперь создадим непосредственно саму БД.
Нажимаем на вкладку «База данных MySQL».
Кнопка «Добавить базу данных MySQL».
Во всплывающем окне прописываем название. Для удобства лучше прописать те же данные, что и в имени пользователя.
Появилась БД, прикреплённая к пользователю, которого мы перед этим создали.
Запишите где-нибудь эту информацию, т.е. имя пользователя и БД, и пароль, если Вы его меняли. Всё это понадобится в следующем уроке.
Нажимаем на «phpMyAdmin».
Слева, нажимаем на БД установленную по умолчанию.
Находим нашу, вновь созданную, и так же открываем её.
Находим вверху вкладку «Импорт» – клик.
Многие задумывались, как перенести скрипты с базой данных MySQL на другой хостинг. Так вот, я написал в этой статье, как перенести Вашу базу данных, с помощью SSH/телнет и PHPMyAdmin»а.
Если Вы имеете доступ по телнет или SSH на оба сервера, то последовательность Ваших действий будет следующей:
Заходите по телнет/SSH на исходный сервер. Экспортируете содержание Вашей базы данных следующей командой: