- Linux mysql перенос базы
- Переносим базу данных mysql
- Популярные Похожие записи:
- Добавить комментарий Отменить ответ
- Поиск по сайту
- Подписка на youtube канал
- Выберите рубрику
- Последние записи
- Перенос базы данных MySQL со старого на новый сервер
- Подготовка
- Экспортируем базу данных MySQL в файл дампа
- Перемещение базы данных MySQL 8 в Ubuntu 20.04 LTS
- Требования
- Подготовка
- Перемещаем каталог данных MySQL
- AppArmor
- Перезапуск MySQL
- Удаление ненужных файлов
Linux mysql перенос базы
Добрый день уважаемые читатели блога и гости портала. Как вы знаете альтернативой платному MS SQL серверу, выступает бесплатная утилита MySQL, которую очень часто устанавливают на Centos7 и другие linux платформы. Она выступает в роли базы данных для сайтов и других задач. Иногда бывает так, что администратор планировавший и создававший сервер, будь, то физический или виртуальный, мог ошибиться и отдать для базы MySQL не достаточное количество дискового пространства, или наоборот она быстро разрослась и не хватает пространства, в таких случаях можно перенести базу MySQL в другое место, чем мы и займемся.
Переносим базу данных mysql
Не всегда удобно когда база данных находится в системных разделах. Поэтому ее приходится переносить в другую папку в системе (которая находится на более быстром или более большом диске).
Для того чтобы перенести базу MySQL в другое место нужно сначала остановитьMySQL:
Теперь скопируем базу в другое место (по умолчанию она лежит в папке/var/lib/mysql) предположим что мы ее переносим в папку /mnt/data/
Перемещаем базу в новое место:
Меняем в файле конфигурации местоположение базы,
для этого открываем файл /etc/mysql/my.cnf,
находим в нем строчку:
и меняем в ней путь на новый:
Проверяем права перенесенной папки папки. Они должны быть 700 и пользователь:группа mysql:mysql
Запускаем MySQL
service mysql start
База MySQL перенесена в новое место.
Популярные Похожие записи:
- Перенастройка базы данных RDS фермы
- Как перенести базу данных кластера AD RMS
- Как переместить базу данных ADFS SQL с одного сервера на другой
- Ошибка ID 356: Failed to register notification to the SQL database with the connection string Data Source
- Набор администрирования AD RMS SP2 Administration Toolkit
- Не удаляется RDSH хост, ошибка parametr name sddform
Добавить комментарий Отменить ответ
Поиск по сайту
Подписка на youtube канал
Выберите рубрику
Active directory, GPO, CA Android Apple ASUS, Sony VAIO CentOS Cisco, Mikrotik Debian, FreeBSD DNS Exchange, Power Shell HP/3Com Hyper-V IBM IIS и FTP, web и seo Juniper Lenovo, intel, EMC, Dell Microsoft Office Microsoft SQL server, Oracle Microsoft System Center NetApp Network, Телефония News Raid, LSI, Adaptec Supermicro Ubuntu Utilities Veeam Backup & Replication, Windows Server Backup Vmware, VirtualBox Windows 7 Windows 8/8.1 Windows 10, Windows 11 Windows 2008/2008 R2 Windows 2012/2012 R2 Windows Server 2016, Windows Server 2019, Windows Server 2022 WordPress, 1C Битрикс Безопасность, Kali СХД Сертификация перед сном
Последние записи
- Кластерный диск в состоянии «Online Pending»
- Как вернуть средство просмотра фотографий Windows 11, за минуту
- Настройка DistKontrolUSB от А до Я
- Как узнать, нуждается ли удаленный сервер в перезагрузке
- Ошибка the server pool does not match the rd connection brokers that are in it. errors
Перенос базы данных MySQL со старого на новый сервер
Перенос или миграция базы данных MySQL или MariaDB между серверами обычно занимает всего несколько простых шагов. В этой статье мы расскажем про них, и вы сможете легко перенести данные со старого Linux сервера на новый, импортировать и выполнить проверку того что все прошло без ошибок. Поехали!
Подготовка
Первым делом нужно убедиться, что и на старом, и на новом сервере установлена одинаковая версия MySQL с одинаковым дистрибутивом. Для этого в командной строке выполните:
После этого нужно убедиться, что на новом сервере хватает места для файла дампа старой базы и импортированной базы данных (например, используя команду df).
Экспортируем базу данных MySQL в файл дампа
Сначала на старом сервере остановите службу mysql или mariadb, используя команду systemctl:
# systemctl stop mariadb ИЛИ # systemctl stop mysql
Затем сделайте дамп ваших баз MySQL с помощью команды mysqldump:
# mysqldump -u [user] -p --all-databases > all_databases.sql
Если база одна, то можно использовать команду:
# mysqldump -u root -p --opt [database name] > database_name.sql
Перенос дампа MySQL на новый сервер
Теперь используйте команду scp, чтобы перенести файл дампа на новый сервер. После подключения база будет перенесена на новый сервер.
# scp all_databases.sql user@merionet.ru:~/ [Все базы] # scp database_name.sql user@merionet.ru:~/ [Одна база]
Импорт файла дампа MySQL на новый сервер
После того как файл дампа был перенесен, нужно выполнить следующую команду для импорта всех баз данных в MySQL.
# mysql -u [user] -p --all-databases < all_databases.sql [All Databases] # mysql -u [user] -p newdatabase < database_name.sql [Singe Database]
Проверка импорта
После завершения импорта вы можете проверить базы данных на обоих серверах:
# mysql -u user -p # show databases;
Перенос баз данных и пользователей MySQL на новый сервер
Если нужно переместить все свои БД MySQL, пользователей, разрешения и структуру данных старого сервера на новый, то нужно использовать команду rsync. С ее помощью скопируется весь контент из каталога данных mysql или mariadb на новый сервер.
# rsync -avz /var/lib/mysql/* user@merionet.ru:/var/lib/mysql/
Как только передача завершится, вы можете установить владельца каталога данных mysql или mariadb для пользователя и группы mysql. Для того чтобы убедиться, что что все файлы были переданы можно выполнить просмотр каталога.
# chown mysql:mysql -R /var/lib/mysql/ # ls -l /var/lib/mysql/
Готово! Мы только что очень быстро и просто выполнили миграцию всех баз со старого сервера на новый.
Перемещение базы данных MySQL 8 в Ubuntu 20.04 LTS
База данных MySQL 8 при установке на Ubuntu 20 по умолчанию пишется в папку /var/lib/mysql. Со временем база растёт и поднимается вопрос переноса её на другой раздел диска. Перенесём базу данных в /u01/mysql/mysql.
Требования
- ОС Ubuntu 20.04 LTS. Или 18.04 LTS. Или Ubuntu 16.04.
- Работаем из-под root.
- Сервер MySQL 8
- Есть папка /u01
Подготовка
Проверим где находится текущая БД MySQL.
mysql -u root -p select @@datadir;
Видим, что файлы базы находятся в /var/lib/mysql/. Чтобы закрыть командную строку MySQL, введите exit.
Останавливаем сервер MySQL:
Проверяем статус, мы должны убедиться, что сервер MySQL остановлен:
Видим — Status: "Server shutdown complete".
Перемещаем каталог данных MySQL
Создадим папку /u01/mysql, в неё будем переносить папку с данными MySQL.
С помощью rsync переносим MySQL в другую папку:
rsync -av /var/lib/mysql /u01/mysql
Флаг –a сохраняет привилегии и другие свойства каталога. Флаг –v предоставляет подробный вывод. Теперь внимание, папка /var/lib/mysql теперь находится по адресу /u01/mysql/mysql.
Переименуем старую папку /var/lib/mysql, сохраним её на случай сбоя:
mv /var/lib/mysql /var/lib/mysql.bak
По умолчанию путь настроен в файле /etc/mysql/mysql.conf.d/mysqld.cnf, редактируем.
vim /etc/mysql/mysql.conf.d/mysqld.cnf
Найдите строку datadir= и укажите в ней путь к новому каталогу данных /u01/mysql/mysql.
AppArmor
Настроим AppArmor, чтобы предоставить MySQL право на изменение нового каталога. Редактируем файл /etc/apparmor.d/tunables/alias:
vim /etc/apparmor.d/tunables/alias
alias /var/lib/mysql/ -> /u01/mysql/mysql/,
systemctl restart apparmor
Если этого не сделать, то получим ошибку при запуске MySQL:
Failed to start MySQL Community Server
Перезапуск MySQL
MySQL при запуске проверяет наличие директории /var/lib/mysql/mysql (ЗАЧЕМ?). Чтобы он не ругался, создадим пустую папку:
systemctl start mysql systemctl status mysql
mysql -u root -p select @@datadir;
Путь теперь /u01/mysql/mysql/.