Linux mysql где хранятся базы данных mysql

where does MySQL store database files?

@BrendanLong I understand the question was originally about phpmyadmin. So, where does phpmyadmin read the database from? Is this directory setupable? I want mysql to be on separate container, is it possible? (Please let me know if this would be subject to another SO question; I can not find right answers.)

5 Answers 5

In any case you can know it:

mysql> select @@datadir; +----------------------------------------------------------------+ | @@datadir | +----------------------------------------------------------------+ | D:\Documents and Settings\b394382\My Documents\MySQL_5_1\data\ | +----------------------------------------------------------------+ 1 row in set (0.00 sec) 

WAMP stores the db data under WAMP\bin\mysql\mysql(version)\data . Where the WAMP folder itself is depends on where you installed it to (on xp, I believe it is directly in the main drive, for example c:\WAMP\.

If you deleted that folder, or if the uninstall deleted that folder, if you did not do a DB backup before the uninstall, you may be out of luck.

If you did do a backup though phpmyadmin, then login, and click the import tab, and browse to the backup file.

Thanks! I found this answer while running a search on my hard drive looking for the same thing. I have a xampp installation with MySQL Server 5.5 on Windows 7. For others with a similar setup: I found my data file at C:\ProgramData\MySQL\MySQL Server 5.5\data. On my system I had to manually type in «C:\ProgramData».

@Cryophallion hey this is is of no use I think. Since, when I copied the database from the location which you have intimidated and pasted it on another computer which has same mysql location. The positive side is that it shows the database and the tables in query browser but when I open the table it shows “got error 1 from storage engine error no 1030″

Читайте также:  Linux mint sftp client

Источник

Как узнать путь до файлов базы данных MySQL/MariaDB в Linux и Windows

Файлы базы MySQL/MariaDB данных хранятся на жёстком диске. По умолчанию это папка data внутри директории исполнимых файлов MySQL (в Windows) или в директории /var/lib/mysql/ (Linux).

В настройках можно указать любое расположение базы данных MySQL — необязательно в папке с установленной программой, это может быть произвольная папка. Более того, на серверах с высокой нагрузкой рекомендуется файлы баз данных выносить на отдельный диск, чтобы не снижалась производительность из-за одновременного доступа к диску для чтения баз данных и для запуска исполнимых файлов.

Иногда непросто разобраться в сложной структуре веб-сервера, иногда нужно в скрипте реализовать возможность определять путь до файлов баз данных — например, в целях настройки автоматического резервного копирования.

Далее будет показано, как в командной строке можно определить, где расположены файлы баз данных MySQL в Windows и в Linux.

Определение пути без подключения к серверу СУБД

В ОС Windows для получения пути до базы данных введите команду:

.\mysqld --verbose --help | findstr /b "datadir"
datadir c:\Server\data\DB\data\

Если вы получите сообщение, что команда mysqld не найдена, значит нужно указать путь до исполнимого файла mysqld или перейти в директорию с исполнимым файлом. Предположим, MySQL/MariaDB установлена в папке C:\Server\bin\mariadb, тогда переходим в поддиректорию bin, содержащую исполнимые файлы, и выполняем там указанную выше команду:

cd C:\Server\bin\mariadb\bin .\mysqld --verbose --help | findstr /b "datadir"

В операционной системе Linux выполните следующую команду и она покажет вам путь до базы данных:

mysqld --verbose --help | grep ^datadir

Переменная @@datadir;

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

И затем в консоли MySQL/MariaDB выполните:

Как видно на скриншоте, путь до файлов базы данных на сервере, где введена команда, c:\Server\data\DB\data\.

Ещё один вариант выполнения данной команды:

mysql -u root -p -e "select @@datadir;"

Как узнать настройки директорий в MySQL/MariaDB

Чтобы показать информацию о всех настройках директорий СУБД сервера, выполнит команду:

mysql -u root -p -e "SHOW VARIABLES WHERE Variable_Name LIKE '%dir'"

Пример вывода в Windows для MariaDB:

+---------------------------+---------------------------------------+ | Variable_name | Value | +---------------------------+---------------------------------------+ | aria_sync_log_dir | NEWFILE | | basedir | C:\Server\bin\mariadb\ | | character_sets_dir | C:\Server\bin\mariadb\share\charsets\ | | datadir | c:\Server\data\DB\data\ | | innodb_data_home_dir | | | innodb_log_group_home_dir | .\ | | innodb_tmpdir | | | lc_messages_dir | | | plugin_dir | C:\Server\bin\mariadb\lib\plugin\ | | slave_load_tmpdir | C:\Windows\TEMP | | tmpdir | C:\Windows\TEMP | +---------------------------+---------------------------------------+

Чтобы вывести только datadir выполните команду:

mysql -u root -p -e "SHOW VARIABLES WHERE Variable_Name = 'datadir'"

Как узнать путь до базы данных MySQL/MariaDB в скрипте

Если вы используете полученное значение пути до папки баз данных, например, в скрипте, то есть вам нужно только значение без лишних символов псевдографики, которая имитирует таблицу, то примените следующую команду:

mysql -s -N -u root -p information_schema -e "SELECT Variable_Value FROM GLOBAL_VARIABLES WHERE Variable_Name = 'datadir'"

Примечание: если в Linux у вас проблемы с последними командами, то инвертируйте (поменяйте местами) одинарные и двойные кавычки.

Читайте также:  Звуковой редактор для linux

Также не забывайте менять пользователя root на имя вашего пользователя.

Связанные статьи:

Источник

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

Обновлено

Обновлено: 20.07.2020 Опубликовано: 12.07.2018

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

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

Увидеть, где хранятся базы можно несколькими способами. Способ 1. Командная строка Linux. В командной строке вводим:

* для 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 в phpMyAdmin

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

Смена пути

  • /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

Источник

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

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

Читайте также:  Dhcp linux два сервера

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

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

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

sudo grep -R ‘datadir’ /etc/mysql/

B4d7gJs3vPwRAAAAAElFTkSuQmCC

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

L3mBbsEyfceGAAAAAElFTkSuQmCC

FqBbNZPll52mdLvzOttetIbHmFwhIC9rjmIuWoy0u8rderDQSJGXPLCrjNN35PL7vwHmbpGYplhiNAAAAABJRU5ErkJggg==

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

mysqld —verbose —help | grep ^datadir

n+RoscPJhsdNwAAAABJRU5ErkJggg==

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

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

nI6+aCt6MhzZ1RMx7aNs+tKo1GB7f8DfV1aoCxYarwAAAAASUVORK5CYII=

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

sudo systemctl restart mysql

weM1MMoOwbgYAAAAABJRU5ErkJggg==

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector