Где хранится базы данных mysql linux

Где хранятся файлы mysql на Ubuntu

SidSpearsUbuntu

Сижу на Ubuntu. Поставил себе web-движок wordpress. Разобрался в нем и захотел на хостинг перебраться. Содержимое var/www скопировал (пока не на хостинг), а вот где содержаться таблицы mysql? Откуда их копировать?
Я в mysql не понимаю ровным счетом ничего, поэтому и спрашиваю наверное глупые вопросы
Дополнено (1). У меня сейчас ubuntu слетела, буду ставить более новую версию. А сейчас хочу скопировать через фс с LiveCD. Ну а саму таблицу с помощью phpmyadmin и создавал

aсe

Hpmyadmin ставь. Делай дамп (экспорт). На хостинге уже импорт. Уверен майадмин сейчас есть на любом.

Гость

лучший ответ Открой /etc/mysql/my.cnf
Там все настройки MySQL, в частности datadir содержит путь к папке с базами MyISAM. У меня например datadir = /var/lib/mysql.
Если используешь InnoDB, то там есть настройки и для него.
Экспорт с помощью phpMyAdmin — это простой, но очень долгий способ (если база огромная). В некоторых случаях поможет утилитка dumper, написанная на PHP, которая эффективно бэкапит ОЧЕНЬ большие базы, даже при наличии лимита на время исполнения скрипта PHP.
Копирование баз в виде файлов сработает только если версии MySQL на старом хосте и на новом хосте будут совпадать, в противном случае можешь получить кучу битых таблиц или вообще ничего.

Гость

Vim /etc/mysql/my.cnf
datadir = /var/lib/mysql
cd /var/lib/mysql/

Гость

Sudo nautilus
и уже var/lib/mysql

Новые вопросы

Источник

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

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

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

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

Читайте также:  Linux службы операционной системы

Далее будет показано, как в командной строке можно определить, где расположены файлы баз данных 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 у вас проблемы с последними командами, то инвертируйте (поменяйте местами) одинарные и двойные кавычки.

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

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

Источник

Где хранятся базы данных 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/

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.

Источник

Путь до базы 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.

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

* в выделенном фрагменте /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

Источник

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″

Источник

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