переместить папку данных и диск MySQL

11

Мне нужно переместить данные в другую папку и диск на моем сервере Cent OS DB.

я добавил новый жесткий диск (так как у нас осталось мало места),

У меня есть 1 ТБ жесткого диска, и у меня есть новые 2 ТБ, я хочу разместить данные на том же сервере (выделенный сервер, размещенный в центре данных)

Я хотел бы знать, каков простой способ переноса данных без потери данных?

в настоящее время у меня есть данные, расположенные в: /var/lib/mysql/на ос ОС.mysql version is 5.1

Владимир Каказский
источник
@abdelsaid нет, я использую myisam

Ответы:

13

Шаг 1

Сначала настройте ваш диск (предполагается, что он смонтирован и правильно настроен в fstab) и создайте новый каталог MySQL:

sudo mkdir /path/to/new/mysql

Убедитесь, что эта папка имеет необходимые разрешения:

chown -R mysql:mysql /data/mysql

Теперь здесь вы можете отключить сервис при копировании данных. Скопируйте данные из текущего каталога данных в новый каталог данных, например:

sudo cp -R /var/lib/mysql/* /path/to/new/mysql/

или вы можете копировать индивидуально каждую базу данных, если хотите, или если вы чувствуете себя в безопасности, вы можете переместить папку с помощью mvкоманды.

Шаг 2

Вы можете изменить расположение ваших данных MySQL в вашем my.cnf. Если вы не знаете, где находится этот файл, вы можете выполнить команду:

locate my.cnf

Это даст вам путь к тому, где находится my.cnf. Затем отредактируйте файл:

sudo vi /etc/mysql/my.cnf (конечно, вы должны заменить свой путь)

Теперь ищите datadir = /var/lib/mysqlи обновляйте до datadir = /path/to/new/mysql.

Затем перезапустите MySQL

sudo /etc/init.d/mysqld restart

Через несколько дней / недель, если вы чувствуете себя комфортно, вы можете удалить старую папку (/ var / lib / mysql) или сделать резервную копию всего, что находится внутри.

Книга Зевса
источник
0

Если вы не хотите завершать работу во время миграции, я бы настроил репликацию мастер-мастер для среды chroot на 2 ТБ с mysql (той же версией), а затем при синхронизации отключите 1 ТБ, и вы получите рабочую среду chroot.

Если вы не хотите использовать среду chroot, измените my.cnf (не chroot), чтобы указать, где вы хотите хранить файлы mysql на диске 2 ТБ, и отключите репликацию. Затем отключите среду chroot и переместите данные в то, что есть в my.cnf, перемещение здесь не займет даже секунды, потому что оно находится на том же диске. Перезапустите MySQL.

Это немного сложно сделать, вы можете сначала поиграть с этим в локальной среде.

vimdude
источник