Перенос базы данных MySQL можно разделить на 4 этапа:
- Создание дампа базы.
- Перенос дампа на новый сервер.
- Создание “пустой” БД на новом сервере и восстановление дампа в неё.
- Настройка прав доступа к БД.
Перед началом работы с MySQL убедитесь, что на сервере запущен демон mysql.
Содержание
- 1 Как сделать дамп базы данных
- 2 Перенос базы данных на новый сервер
- 3 Восстановление дампа базы данных
- 4 Настройка прав доступа к БД
Как сделать дамп базы данных
Для создания дампа БД можно воспользоваться следующей командой:
mysqldump -u root -p -f myolddb > /home/username/mydbdump.sql
Затем вводим пароль пользователя:
mypassword
Рассмотрим первую команду. Для создания дампа, мы:
- воспользовались утилитой mysqldump от имени пользователя MySQL root (ключ –u) (не путать с суперпользователем сервера root);
- задали проверку пароля (ключ –p);
- “попросили” создавать дамп даже при возникновении ошибок MySQL (ключ –f);
- указали имя БД (myolddb);
- указали директорию, в которой должен быть сохранён дамп БД (/home/username/);
- указали имя самого дампа (mydbdump.sql).
Перенос базы данных на новый сервер
Следующим шагом является перенос дампа на новый сервер. Для этого можно воспользоваться ftp-клиентом, подключиться к старому серверу, скачать дамп на домашний компьютер, и, подключившись к новому серверу, загрузить дамп на него. Другим способом переноса дампа, для которого не нужно выполнять промежуточное копирование на домашнем компьютере, является использование команды wget на новом сервере, с указанием ссылки на старый сервер (например, http://oldserver.com/mydbdump.sql). Однако для использования данной команды необходимо, чтобы на старом сервере был запущен веб-сервер, а файл дампа помещён в корневую директорию хоста oldserver.com (например, /var/www/html).
После того как дамп перенесён, его нужно восстановить на новом сервере. Для начала необходимо войти в MySQL и создать “пустую” БД.
mysql –u root –p mypassword CREATE DATABASE mynewdb; quit
Восстановление дампа базы данных
Далее восстанавливаем дамп в только что созданную БД.
mysql -u root -p -f mynewdb < /home/username/mydbdump.sql mypassword
Настройка прав доступа к БД
Наконец, необходимо настроить права доступа к БД, а именно определить, какой пользователь будет иметь доступ к данной БД. Предположим, Вы устанавливаете WordPress и хотите, чтобы доступ к БД имел пользователь под именем wordpress. В таком случае, нужно войти в MySQL как root при помощи команды:
mysql –u root –p
и выполнить следующие команды:
GRANT ALL ON mynewdb.* to wordpress@localhost identified by 'wordpresspassword'; FLUSH PRIVILEGES; quit
Данная команда не только настраивает права доступа к БД, но также создаёт пользователя БД (например, wordpress) и устанавливает для него пароль (wordpresspassword).
Вы можете проверить корректность создания пользователя:
mysql –u wordpress –p wordpresspassword SHOW DATABASES;
При успешной настройке прав доступа Вы увидите следующий текст: