Путь до базы MySQL / MariaDB

Тематические термины: MySQL , MariaDB , Linux .

В статье пойдет речь о просмотре и смене пути расположения файлов баз данных MySQL. Приведенные примеры выполнены на CentOS 7 — также они будут работать на Ubuntu и многих других дистрибутивах Linux, FreeBSD и Windows.

Посмотреть текущий путь

Увидеть, где хранятся базы можно несколькими способами.

Способ 1. Командная строка Linux.

В командной строке вводим:

systemctl status mysql || systemctl status mariadb

* для Windows используем оснастку Службы. Для FreeBSD используем команду service mysql-server stop.

Пример ответа:

mariadb.service — MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Ср 2018-07-11 15:38:16 MSK; 23h ago
Process: 1067 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
Process: 992 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 1066 (mysqld_safe)
CGroup: /system.slice/mariadb.service
??1066 /bin/sh /usr/bin/mysqld_safe —basedir=/usr
??1248 /usr/libexec/mysqld —basedir=/usr —datadir=/var/lib/mysql —plugin-dir=/usr/lib64/mysql/plugin —log-error=/var/log/mariadb/mariadb.log —pid-file=/var/run/mariadb/mariadb.pid —socket…

* в выделенном фрагменте /var/lib/mysql — путь до файлов базы данных.

Способ 2. Командная оболочка MySQL.

Данный способ является более универсальным — он подойдет для любого дистрибутива Linux, FreeBSD, Windows. Также, метод универсален с точки зрения метода установки MySQL — чистая установка или в составе готовой сборки (Open Server, Xampp, Denwer …).

Заходим под пользователем root в командную оболочку СУБД:

mysql -uroot -p

Вводим:

> SHOW VARIABLES WHERE Variable_Name LIKE «datadir»;

или

> select @@datadir;

Пример ответа:

+—————+——————+
| Variable_name | Value |
+—————+——————+
| datadir | /var/lib/mysql/ |
+—————+——————+

Способ 3. Через phpMyAdmin.

Если у нас нет доступа к серверу по SSH или удаленному рабочему столу, запрос можно сделать в phpMyAdmin:

Пример создания запроса на получение пути к базе MySQL в phpMyAdmin

Смена пути

Останавливаем сервер баз данных:

systemctl stop mysql || systemctl stop mariadb

Создаем новый каталог, например:

mkdir /home/mysql

Переносим содержимое старого каталога в новый:

mv /var/lib/mysql/* /home/mysql/

Задаем права и владельца для нового каталога:

chown mysql:mysql /home/mysql

chmod 755 /home/mysql

Открываем конфигурационный файл my.cnf:

vi /etc/my.cnf.d/server.cnf

* в разных версиях mysql и mariadb могут использоваться разные пути:

  • /etc/my.cnf.
  • /etc/my.cnf.d/server.cnf.
  • /etc/my.cnf.d/mariadb-server.cnf.
  • В Windows это my.ini .

и задаем новый путь:

[mysqld]
datadir = /home/mysql

Запускаем сервер:

systemctl start mysql || systemctl start mariadb

Смотрите также

Установка MariaDB на CentOS 7

Как восстановить базу MySQL

Создание и удаление баз в MySQL/MariaDB

Экспорт баз данных MariaDB/MySQL в phpMyAdmin

EnglishRussianUkrainian