Форум русскоязычного сообщества Ubuntu

Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
- Форум русскоязычного сообщества Ubuntu »
- Архив »
- Архив »
- Архив тем до 2020г »
- Где лежат базы MariaDB и как их перенести на другой диск?
Автор Тема: Где лежат базы MariaDB и как их перенести на другой диск? (Прочитано 1630 раз)
0 Пользователей и 1 Гость просматривают эту тему.
- Форум русскоязычного сообщества Ubuntu »
- Архив »
- Архив »
- Архив тем до 2020г »
- Где лежат базы MariaDB и как их перенести на другой диск?
Страница сгенерирована за 0.093 секунд. Запросов: 23.
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Как узнать путь до файлов базы данных MySQL/MariaDB в Linux и Windows
Файлы базы MySQL/MariaDB данных хранятся на жёстком диске. По умолчанию это папка data внутри директории исполнимых файлов MySQL (в Windows) или в директории /var/lib/mysql/ (Linux).
В настройках можно указать любое расположение базы данных MySQL — необязательно в папке с установленной программой, это может быть произвольная папка. Более того, на серверах с высокой нагрузкой рекомендуется файлы баз данных выносить на отдельный диск, чтобы не снижалась производительность из-за одновременного доступа к диску для чтения баз данных и для запуска исполнимых файлов.
Иногда непросто разобраться в сложной структуре веб-сервера, иногда нужно в скрипте реализовать возможность определять путь до файлов баз данных — например, в целях настройки автоматического резервного копирования.
Далее будет показано, как в командной строке можно определить, где расположены файлы баз данных MySQL в Windows и в Linux.
Определение пути без подключения к серверу СУБД
В Windows
В ОС Windows для получения пути до базы данных введите команду:
Если вы получите сообщение, что команда mysqld не найдена, значит нужно указать путь до исполнимого файла mysqld или перейти в директорию с исполнимым файлом. Предположим, MySQL/MariaDB установлена в папке C:\Server\bin\mariadb, тогда переходим в поддиректорию bin, содержащую исполнимые файлы, и выполняем там указанную выше команду:
В Linux
В операционной системе Linux выполните следующую команду и она покажет вам путь до базы данных:
Переменная @@datadir;
Этот способ работает на всех системах одинаково. Нужно выполнить подключение к системе управления базой данных. Например, для пользователя root это делается так:
И затем в консоли MySQL/MariaDB выполните:
Как видно на скриншоте, путь до файлов базы данных на сервере, где введена команда, c:\Server\data\DB\data\.
Ещё один вариант выполнения данной команды:
Как узнать настройки директорий в MySQL/MariaDB
Чтобы показать информацию о всех настройках директорий СУБД сервера, выполнит команду:
Пример вывода в Windows для MariaDB:
Чтобы вывести только datadir выполните команду:
Как узнать путь до базы данных MySQL/MariaDB в скрипте
Если вы используете полученное значение пути до папки баз данных, например, в скрипте, то есть вам нужно только значение без лишних символов псевдографики, которая имитирует таблицу, то примените следующую команду:
Примечание: если в Linux у вас проблемы с последними командами, то инвертируйте (поменяйте местами) одинарные и двойные кавычки.
Также не забывайте менять пользователя root на имя вашего пользователя.
Где хранятся файлы MySQL на жестком диске UNIX / Linux

Что делать, если вы — новый пользователь MySQL, и вам интересно, где хранятся базы данных mysql/mariadb и файлы MySQL в операционных системах UNIX или Linux? Где MySQL хранит данные на жестком диске?
Вот простой способ узнать, где база данных MySQL или MariaDB хранит данные на нашем жестком диске, в Linux, Unix и Windows.
Где MySQL хранит данные на жестком диске при использовании Linux/Unix?
Обычно в каталоге /var/lib/mysql или /var/db/mysql, которые используются для хранения базы данных и таблиц в UNIX. Вы можете использовать следующую команду для поиска MySQL datadir:

Другая команда, которая будет отображать данные:


Теперь все, что вам нужно, это выполнить команду cd в каталоге /var/lib/mysql:
Как изменить место хранения данных MariaDB в Centos 7
MariaDB — одна из самых популярных систем управления базами данных, основанная языке запросов SQL. Она отличается более высокой производительностью при полной совместимости с «предком» — MySQL.
Для чего может понадобиться переместить данные MariaDB в другое место
Есть две основные причины:
- Место на текущем диске закончилось;
- Был установлен более быстрый диск, и вы хотите улучшить производительность сервиса, пернеся данные на него.
Как изменить расположение данных MariaDB
Перед любыми операциями я настоятельно рекомендую вам уточнить, где данные располагаются сейчас. Для этого установите SSH-сессию как пользователь root, войдите в MariaDB и выполните следующую команду:

Выйдите из SQL и остановите службу:
service mariadb stop

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

Отредактируйте конфигурационный файл сервиса баз данных:
cat <<EOT >> /etc/my.cnf
[client]
socket=<новый_каталог>/mysql.sock
EOT

Создайте специальный сокет-файл и установите необходимые права доступа:


Проверьте, какой каталог MariaDB использует для хранения данных теперь:

Заключение
После прочтения этой статьи вы узнали, что такое MariaDB, какими могут быть возможные причины для перемещения баз данных в другое место и как это можно сделать на сервере под Centos 7.