zaLinux.ru

Как запустить MySQL/MariaDB с указанием другой директории data


Папку data, в которой хранятся базы данных MySQL/MariaDB, при необходимости можно переместить в другое расположение. Кроме такого варианта, можно запустить новый экземпляр СУБД указав в качестве опции новое расположение. Как это сделать показано ниже. В описываемом варианте не требуется отключать MySQL/MariaDB если они уже запущены на сервере.

Как указать другое расположение папки data для MySQL/MariaDB

Поскольку порт MySQL уже занят, нам нужно выбрать любой другой свободный порт. Также нам нужно указать место расположения временного сокета, при этом выбрать папку, запись в которую не требует повышенных привилегий. И, наконец, нужно указать директорию с папкой data. Допустим, я хочу сделать дамп базы данных или просто просмотреть содержимое баз данных, которые помещены в директории /mnt/disk_d/Arch/Windows_Backup/data/. Тогда я запускаю следующую команду:

mysqld --port 13307 --socket=/tmp/temp-mysqld.sock --datadir /mnt/disk_d/Arch/Windows_Backup/data/

Чтобы подключиться к ней клиентом MySQL/MariaDB выполните команду вида:

mysql -u root --port 13307 --socket=/tmp/temp-mysqld.sock

В ней root замените на имя другого пользователя, если необходимо. Также если для этого пользователя установлен пароль, то добавьте опцию -p.


После подключения можно выполнить обычные запросы, например:

select @@datadir;

Пример вывода:

+---------------------------------------+
| @@datadir                             |
+---------------------------------------+
| /mnt/disk_d/Arch/Windows_Backup/data/ |
+---------------------------------------+

Для просмотра списка баз данных:

show databases;

Для создания резервной копии такой базы данных выполните команду с mysqldump:

mysqldump -u root --port 13307 --socket=/tmp/temp-mysqld.sock --all-databases > data-dump.sql

Замените root на нужно имя пользователя, и если для него установлен пароль, добавьте опцию -p.

Дополнительная информация о mysqldump:


Рекомендуемые статьи:

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *