Подтвердить что ты не робот

Где хранит данные 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 есть и другие базы данных).

4b9b3361

Ответ 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\data​​p >

. Каждая база данных имеет папку, и каждая таблица имеет файл здесь.

Ответ 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.