Сервер в кармане, или просто о сложном!

главная - Статьи - Linux, FreeBSD



Где в Linux находятся базы MySQL

Дата обновления: 06.02.2023

Теги: Резервное копирование Linux

Чаще всего базы данных MySQL на Linux хосте находятся в директории /var/lib/mysql.

Но перед тем, как резервировать эту папку, нужно все же быть уверенным, что именно тут находятся актуальные файлы базы данных. Как это проверить?

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

 

2) файл конфигурации "my.cnf"

MySQL (MariaDB) хранят настройки в файлах с расширением .cnf. По-умолчанию - файл my.cnf.

Скорее всего, это файл находится в /etc/my.cnf.

Лучше не гадать, а найти файлы my.cnf на хосте:

# find / -type f -name my.cnf
/etc/my.cnf

 

У меня в этом файле была единственная ссылка на директорию /etc/my.cnf.d, в которой были файлы:

auth_gssapi.cnf
client.cnf
enable_encryption.preset
mariadb-server.cnf
mysql-clients.cnf

В файле /etc/my.cnf.d/mariadb-server.cnf:

смотрим секцию mysqld:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/run/mariadb/mariadb.pid

Директория с базой данных: /var/lib/mysql

 

3) как еще можно искать конфиг базы mysql?

# mysql --help | grep /my.cnf
/etc/my.cnf ~/.my.cnf

# mysqladmin --help | grep /my.cnf
/etc/my.cnf ~/.my.cnf

Зная файл конфига, вы легко найдете расположение базы данных.

 

4) изврат, но почему бы и да?

Используя команду lsof, можно посмотреть, какие файлы задействованы базой данных:

# lsof -u mysql
...
mysqld  1084 mysql   17r   DIR              253,0     4096  394860 /var/lib/mysql
mysqld  1084 mysql   18uW  REG              253,0   114688  657855 /var/lib/mysql/postfix/domain_admins.ibd
mysqld  1084 mysql   19uW  REG              253,0    98304  657859 /var/lib/mysql/postfix/vacation_notification.ibd
mysqld  1084 mysql   20uW  REG              253,0   131072  657863 /var/lib/mysql/postfix/alias_domain.ibd
mysqld  1084 mysql   21uW  REG              253,0    98304  657866 /var/lib/mysql/postfix/domain.ibd
mysqld  1084 mysql   22uW  REG              253,0   114688  657856 /var/lib/mysql/postfix/mailbox.ibd

Сразу несколько файлов задействованы в директории /var/lib/mysql.

lsof вообще команда крайне полезная.



Авторизуйтесь для добавления комментариев!


    забыли пароль?    новый пользователь?