DataLife Engine / Тайная комната MySQL: Где ваш сервер прячет все данные?

Тайная комната MySQL: Где ваш сервер прячет все данные?

Файлы баз данных в СУБД MySQL хранятся на жёстком диске. По умолчанию все файлы с базами хранятся в директории /var/lib/mysql. Однако это путь можно изменить.

В данной статье будет показано как посмотреть, где хранятся файлы баз данных в СУБД MySQL в операционной системе Ubuntu 20.04.

Где хранятся базы данных MySQL

По умолчанию все файлы с базами хранятся в директории /var/lib/mysql. Однако, чтобы убедиться в этом можно выполнить команду sudo grep -R 'datadir' /etc/mysql/ которая отобразит полный путь до файлов, в которых хранятся базы данных:

sudo grep -R 'datadir' /etc/mysql/
Тайная комната MySQL: Где ваш сервер прячет все данные?

Если перейти по предложенному пути - /var/lib/mysql то в директории будут расположены все необходимые файлы c баз данных. Команду для перехода в директорию необходимо выполнять из-под пользователя root иначе будет ошибка Permission denied:

cd /var/lib/mysql
Тайная комната MySQL: Где ваш сервер прячет все данные?
sudo su cd /var/lib/mysql ls -l
Тайная комната MySQL: Где ваш сервер прячет все данные?

Теперь вы знаете где находятся базы данных MySQL. Также можно выполнить команду mysqld с параметрами --verbose и --help которая отобразит путь хранения файлов с базами данных. Данная команда аналогична предыдущей команде.

mysqld --verbose --help | grep ^datadir
Тайная комната MySQL: Где ваш сервер прячет все данные?

Если есть необходимость в изменении пути хранения файлов баз данных, то необходимо открыть конфигурационный файл MySQL от имени суперпользователя (root) при помощи любого текстового редактора. В данном примере, как мы узнали выше, конфигурационный файл находится по пути /etc/mysql/mysql.conf.d/mysqld.cnf. Команда для его редактирования будет выглядеть следующим образом:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Тайная комната MySQL: Где ваш сервер прячет все данные?

В открывшемся файле необходимо найти блок [mysqld] и в нем параметр с именем datadir в котором можно пописать нужный путь, где будут храниться базы данных. После того как путь был задан необходимо сохранить изменения, закрыть текстовый редактор и перезапустить СУБД при помощи команды:

sudo systemctl restart mysql
Тайная комната MySQL: Где ваш сервер прячет все данные?

Выводы

В данной короткой статье было рассмотрено, где хранятся базы данных в СУБД MySQL. Также при желании можно изменить директорию для хранения. Есть ли у вас опты работы с СУБД MySQL? Расскажите в комментариях!

28-10-2025, 13:00
Вернуться назад