Где хранит данные mysql?
Где хранит данные mysql? Я узнал (используя mysql > SELECT @@datadir), что он в var/lib/mysql - но это не может быть. У меня довольно большая база данных (4 ГБ), называемая "бот", но все файлы в подкаталоге "bot" (var/lib/mysql/bot) имеют всего 280 КБ. Где остальные?
Еще одна вещь - 99% от размера базы данных - это текстовый столбец в одной из таблиц. Я знаю, что mysql хранит его в отдельных файлах, но создает ли он один файл на запись?
Я нашел большой файл в каталоге var/lib/mysql с именем ibdata1 - его размер превышает 8 ГБ - что это такое? (Кстати, в каталоге var/lib/mysql есть и другие базы данных).
Ответы
Ответ 1
Чтение между строками - это база данных innodb? В этом случае фактические данные обычно хранятся в этом каталоге под именем ibdata1. Этот файл содержит все ваши таблицы, если вы специально не настроили mysql для использования одного файла за стол (innodb-file-per-table)
Ответ 2
От here:
Окно
1) Найдите my.ini, который хранится в установочной папке MySQL.
Например, C:\Program Files\MySQL\MySQL Server 5.1\my.ini
2) Откройте "my.ini" с помощью нашего текстового редактора.
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.1/"
#Path to the database root
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/"
Найдите "datadir"
, это то, где MySQL хранит данные в Windows.
Linux
1) Найдите my.cnf с помощью команды find/-name my.cnf.
[email protected]:~$ find / -name my.cnf
find: /home/lost+found: Permission denied
find: /lost+found: Permission denied
/etc/mysql/my.cnf
2) просмотрите my.cnf file cat /etc/mysql/my.cnf
[email protected]:~$ cat /etc/mysql/my.cnf
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
3) Найдите "datadir"
, где MySQL хранит данные в системе Linux.
Ответ 3
В версии 5.6 по крайней мере вкладка Management в MySQL Workbench показывает, что она находится в скрытой папке ProgramData на диске C: \. Мой каталог данных по умолчанию:
C:\ProgramData\MySQL\MySQL Server 5.6\datap >
. Каждая база данных имеет папку, и каждая таблица имеет файл здесь.
Ответ 4
Я только что установил MySQL Server 5.7
в Windows 10
и my.ini
файл находится здесь c:\ProgramData\MySQL\MySQL Server 5.7\my.ini
.
В папке Data
(где создаются ваши dbs) находится C:/ProgramData/MySQL/MySQL Server 5.7\Data
.