Linux mysql перенос базы

Linux mysql перенос базы

Как перенести Базу 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Как перенести базу данных кластера 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Не удаляется RDSH хост, ошибка parametr name sddform
Читайте также:  Reinstall python on linux

Добавить комментарий Отменить ответ

Поиск по сайту

Подписка на 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 со старого на новый сервер

img

Перенос или миграция базы данных MySQL или MariaDB между серверами обычно занимает всего несколько простых шагов. В этой статье мы расскажем про них, и вы сможете легко перенести данные со старого Linux сервера на новый, импортировать и выполнить проверку того что все прошло без ошибок. Поехали!

MySQL Migration

Подготовка

Первым делом нужно убедиться, что и на старом, и на новом сервере установлена одинаковая версия MySQL с одинаковым дистрибутивом. Для этого в командной строке выполните:

После этого нужно убедиться, что на новом сервере хватает места для файла дампа старой базы и импортированной базы данных (например, используя команду df).

Читайте также:  Linux see all group

Экспортируем базу данных 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/

Готово! Мы только что очень быстро и просто выполнили миграцию всех баз со старого сервера на новый.

Читайте также:  Default folders in linux

Источник

Перемещение базы данных MySQL 8 в Ubuntu 20.04 LTS

MySQL 8

База данных 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;

sql

Видим, что файлы базы находятся в /var/lib/mysql/. Чтобы закрыть командную строку MySQL, введите exit.

Останавливаем сервер MySQL:

Проверяем статус, мы должны убедиться, что сервер MySQL остановлен:

sql

Видим — 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.

sql

Переименуем старую папку /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.

sql

AppArmor

Настроим AppArmor, чтобы предоставить MySQL право на изменение нового каталога. Редактируем файл /etc/apparmor.d/tunables/alias:

vim /etc/apparmor.d/tunables/alias
alias /var/lib/mysql/ -> /u01/mysql/mysql/,

sql

systemctl restart apparmor

Если этого не сделать, то получим ошибку при запуске MySQL:

Failed to start MySQL Community Server

Перезапуск MySQL

MySQL при запуске проверяет наличие директории /var/lib/mysql/mysql (ЗАЧЕМ?). Чтобы он не ругался, создадим пустую папку:

systemctl start mysql systemctl status mysql

sql

mysql -u root -p select @@datadir;

sql

Путь теперь /u01/mysql/mysql/.

Удаление ненужных файлов

Источник

Оцените статью
Adblock
detector