MySQL, какой максимальный размер базы данных? — mysql

В соответствии с Руководством по MySQL:

E.10.3. Ограничения по размеру таблицы

Эффективный максимальный размер таблицы для баз данных MySQL обычно определяется ограничениями операционной системы на размер файлов, а не внутренними пределами MySQL. В следующей таблице приведены некоторые примеры ограничений размера файла операционной системы. Это всего лишь приблизительное руководство и не должно быть окончательным. Для получения самой свежей информации обязательно проверьте документацию, относящуюся к вашей операционной системе.

Operating System                     File-size Limit
Win32 w/ FAT/FAT32                   2GB/4GB
Win32 w/ NTFS                        2TB (possibly larger)
Linux 2.2-Intel 32-bit               2GB (LFS: 4GB)
Linux 2.4+  (using ext3 file system) 4TB
Solaris 9/10                         16TB
MacOS X w/ HFS+                      2TB

Пользователи Windows, обратите внимание, что FAT и VFAT (FAT32) не считаются подходящими для использования в MySQL. Вместо этого используйте NTFS.

В Linux 2.2 вы можете получить таблицы MyISAM размером более 2 ГБ, используя патч Large File Support (LFS) для файловой системы ext2. Большинство современных дистрибутивов Linux основаны на ядре 2.4 или выше и включают все необходимые исправления LFS. В Linux 2.4 также существуют исправления для ReiserFS для поддержки больших файлов (до 2 ТБ). С JFS и XFS в Linux можно использовать файлы петабайта и более.

Что касается другой части вашего вопроса, несколько соображений:

  • Это широкий, сложный, многофакторный вопрос. Рассмотрите возможность сужения области вопроса в MySQL и других СУБД (например, SQL Server) и, возможно, даже в одной конкретной функции.
  • Google — ваш друг.
  • Поставщики, как правило, публикуют свои собственные смещенные сравнения. Возьмите номера поставщиков с солью.
Asaph
источник поделиться

qaru.site

Размер базы данных MySQL | Losst

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

Но сколько занимает ваша база данных? А каждая таблица? Для больших проектов эти показатели могут достигать очень больших значений. В сегодняшней статье мы поговорим о том, как узнать размер базы данных MySQL через консоль и другими способами.

Содержание статьи:

Размер базы данных MySQL

Я предполагаю, что ваша база данных установлена в Linux, но большинство методов будут работать и для других операционных систем. Самый простой способ прикинуть сколько места занимают все базы данных — это посмотреть размер папки с файлами базы данных в системе — /var/lib/mysql:

du -h /var/lib/mysql

Утилита позволяет узнать размер базы Mysql в мегабайтах. Но будет гораздо более правильно смотреть информацию о базе данных с помощью ее встроенных инструментов. Для в MySQL есть специальная таблица — Information_schema. Из нее мы и будем брать данные. Но сначала подключитесь к базе данных:

mysql -u root -p

SELECT table_schema AS "Имя базы данных",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Размер в Мб"
FROM information_schema.TABLES

GROUP BY table_schema;

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

SELECT table_schema AS "Имя базы данных",
ROUND(SUM(data_length + index_length) / 1024 / 1024 / 1024, 2) AS "Размер в Гб"
FROM information_schema.TABLES
GROUP BY table_schema;

Но это еще не все. Возможно, в базе данных есть ненужная информация, которая только замедляет работу системы. Мы можем посмотреть размер таблиц для каждой из баз данных. Запрос для этого будет выглядеть следующим образом:

SELECT table_name AS "Имя таблицы",

ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size in (MB)"
FROM information_schema.TABLES
WHERE table_schema = "wpfc_options"
ORDER BY (data_length + index_length) DESC;

Данная информация помогает понять какая таблица сколько занимает и это уже может навести на интересные мысли.

Размер базы данных в Phpmyadmin

Если вы не очень любите работать в терминале, то вы всегда можете использовать Phpmyadmin для просмотра размера базы данных. Размер каждой из таблиц базы данных вы можете посмотреть на вкладке «Структура», когда выберите базу данных для работы:

Что касается размера самой базы данных, то придется выполнить тот же запрос в интерфейсе программы на вкладке

«SQL»:

Выводы

В этой небольшой статье мы рассмотрели как узнать размер базы данных MySQL несколькими способами. Если у вас остались вопросы, спрашивайте в комментариях!

Оцените статью:

Загрузка…

losst.ru

mysql — Максимальный размер таблицы для базы данных MySQL

Я когда-то работал с очень большой базой данных (Тб +) MySQL. Самый большой стол у нас был в буквальном смысле более миллиарда строк.

Это сработало. MySQL обработаны данные правильно большую часть времени. Это было очень громоздким, хотя.

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

Мы имели многочисленные таблицы в диапазоне 10-100 миллионов строк. Любое значительное присоединяется к столам были слишком много времени и будет длиться вечно. Таким образом, мы писали хранимые процедуры для ходьбы »столов и процесс присоединяется к диапазонам«идентификаторов. Таким образом, мы будем обрабатывать данные 10-100,000 строки в то время (Join против идентификаторов 1-100,000 затем 100,001-200,000, и т.д.). Это значительно быстрее, чем присоединение против всей таблицы.

Использование индексов на очень больших таблиц, которые не основаны на первичном ключе также намного сложнее. Mysql хранит индексы двух частей — это хранит индексы (кроме первичного индекса) в качестве указателей к значениям первичного ключа. Так индексированный поиск выполняется в два этапе: во-первых MySQL идет на индекс и тянет из нее значения первичных ключей, которые она должна найти, то он делает второй поиск по индексу первичного ключа, чтобы найти, где эти значения.

Сеть этого является то , что для очень больших таблиц (1-200 миллионов плюс строк) индексация по таблицам более ограничительный характер . Вам нужно меньше, более простые индексы. И делать даже простые выберите заявления, которые не являются непосредственно на индекс может никогда не вернуться. Где пункты должны ударить индексы или забыть об этом.

Но все это, как говорится, все на самом деле работает. Мы смогли использовать MySQL с этим очень большими таблицами и делать расчеты и получить ответы, которые были правильными.

ru.coredump.biz

Максимальный размер таблицы для базы данных MySQL

Однажды я работал с очень большой (Terabyte +) базой данных MySQL. Самая большая таблица у нас была буквально более миллиарда строк.

Это сработало. MySQL большую часть времени правильно обрабатывал данные. Это было чрезвычайно громоздко, хотя.

Простое резервное копирование и хранение данных было проблемой. Потребовались бы дни, чтобы восстановить стол, если бы нам было нужно.

У нас было множество таблиц в диапазоне от 10 до 100 миллионов. Любые значительные присоединения к таблицам были слишком трудоемкими и заняли бы вечность. Поэтому мы написали хранимые процедуры для «обхода» таблиц и объединения процессов с диапазонами идентификаторов. Таким образом, мы будем обрабатывать данные по 10-100 000 строк за раз (объединение с идентификаторами 1-100 000, затем 100 001-200 000 и т. Д.). Это было значительно быстрее, чем объединение против всей таблицы.

Использование индексов для очень больших таблиц, которые не основаны на первичном ключе, также намного сложнее. Mysql хранит индексы в двух частях — он хранит индексы (кроме первичного индекса) как индексы для значений первичного ключа. Таким образом, индексированный поиск выполняется в двух частях: сначала MySQL переходит к индексу и извлекает из него значения первичного ключа, которые ему нужно найти, затем выполняет второй поиск по индексу первичного ключа, чтобы найти, где находятся эти значения.

Суть в том, что для очень больших таблиц (1-200 миллионов плюс строки) индексация по таблицам является более строгой. Вам нужно меньше, более простых индексов. И выполнение даже простых операторов выбора, которые не находятся непосредственно в индексе, может никогда не вернуться. Где пункты

должны попасть в индексы или забыть об этом.

Но все это, как говорится, вещи действительно работали. Мы смогли использовать MySQL с этими очень большими таблицами, проводить вычисления и получать правильные ответы.

geekquestion.com

Основы создания баз данных MySQL

Дельфины всегда вызывали доверие у людей. Они ассоциируются у нас с добротой и радостью. Хоть дельфин и является символом MySQL, но это никак не объясняет той популярности, которой она пользуется во всем мире:


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

Процедура создания базы данных MySQL ничем не отличается от других СУБД. Да и ее бесплатность тоже едва ли является основной причиной популярности данной системы. Например, SQL Server от Microsoft. В каждой версии данного продукта выходит его бесплатная редакция, и с довольно неплохими техническими характеристиками.

Особенности СУБД MySQL:

  • Чаще всего используется в качестве удаленного сервера;
  • Включает в себя большое количество типов таблиц;
  • Поставляется со специальным типом EXAMPLE, показывающим принцип создания новых таблиц;
  • Высокая степень масштабируемости за счет поддержки большинства популярных платформ;
  • Открытый исходный код – благодаря этому данная СУБД постоянно совершенствуется и модернизируется множеством разработчиков по всему миру;
  • Создано большое количество API, обеспечивающих взаимосвязь MySQL c основной частью всех программных языков;
  • Максимальный размер файла таблицы базы данных ограничивается лишь возможностями используемой операционной системы.

У ближайшего конкурента MySQL системы MS SQL Server в бесплатной редакции Express ограничение на размер базы данных составляет 10 ГБ.

  • Последняя версия СУБД 5.7.5m15 (тестовая) вышла в сентябре 2014.

Основной логической и структурной единицей деления данных в любой реляционной модели представления информации является база. Выше нее идет лишь сервер. Любая база данных состоит из таблиц, каждая из которых делится на столбцы. Рассмотрим все способы, как создать в MySQL базу данных.

Среда PHPMyAdmin является одной из самых популярных оболочек для работы с MySQL. Ее интерфейс во многом облегчает администрирование баз данных.

Для создания базы данных MySQL через PHPMyAdmin делаем следующее:

  • Заходим в оболочку;
  • Переходим на вкладку «Базы данных»;
  • В первое поле вводим название создаваемой базы данных, а из выпадающего списка выбираем нужную кодировку. В нашем случае это utf8_genegal_ci.

Длина имени базы данных не должна превышать 64 символа.

  • Затем нажимаем на кнопку «Создать»:

  • После этого имя созданной БД MySQL должно появиться в списках слева и внизу:


Теперь создадим в нашей базе данных первую таблицу. Делаем следующее:

  • В списке слева находим имя нашей базы данных и нажимаем на него:

  • В следующем окне вводим название таблицы и задаем количество столбцов;
  • Затем нажимаем на кнопку «Ok».

То же самое можно сделать, нажав на ссылку «Создать таблицу» сразу под списком баз данных слева, но тогда в следующем окне выведется заготовка без имени и с четырьмя столбцами.

  • Следующим шагом задаем структуру нашей таблицы. Прописываем имена и типы данных, которые будут храниться в столбцах таблицы;
  • После этого нажимаем на кнопку «Сохранить»:

  • Таблица нашей БД MySQL создана и готова для заполнения данными:


Но это не единственный способ, как можно создать базу данных в PHPMyAdmin. Аналогичный эффект можно получить, если воспользоваться SQL запросом. Для этого применяется команда CREATE. Ее синтаксис:

CREATE DATABASE [IF NOT EXISTS] db_name [CHARACTER SET charset] [COLLATE collation];

Аргументы:

  • IF NOT EXISTS – служит для отслеживания уникальности имени базы данных. Если не указывать этот параметр, то в случае создания базы с одинаковым названием может возникнуть ошибка выполнения запроса;
  • db_name – указывается имя создаваемой базы данных;
  • CHARACTER SET charset – устанавливается кодировка базы данных. Если не указано, то используется значение по умолчанию;
  • COLLATE collation – задается порядок сортировки данных. Необязательный параметр.

Теперь создадим базу данных с помощью SQL запроса через оболочку PHPMyAdmin:

  • Переходим на вкладку «SQL»;
  • В появившемся окне редактора вводим запрос на создание базы данных;
  • Или жмем на иконку «Окно запроса». Она находится слева над списком баз данных:

  • Вводим текст запроса:
  • Внизу нажимаем на «Ok»:

  • После этого название нашей базы данных отобразится в списке слева:


Для удаления sql базы данных используйте команду DROP DATABASE «my_db».

  • Запрос для создания базы данных с указанием необязательных параметров будет выглядеть следующим образом:
CREATE DATABASE `my_db` CHARACTER SET utf8 COLLATE utf8_general_ci;

Возможность восстановления базы данных очень важна. В случае непредвиденных ситуаций восстановление поможет вернуть утраченную информацию и быстро возобновить работу ресурса.

Настраиваем резервное копирование базы данных в PHPMyAdmin. Порядок действий:

  • В списке слева выбираем нужную нам базу данных;
  • Жмем на вкладку «Экспорт»;
  • Нажимаем «Ок».


Если в разделе «Способ экспорта» выбрать значение «Обычный», то перед вами раскроется большое окно с множеством параметров для настройки:


Теперь попытаемся восстановить сохраненную копию базы. Но для начала удалим уже существующий экземпляр. Переходим во вкладку «Операции» и нажимаем ссылку «Удалить базу данных»:


Для восстановления базы MySQL в PHPMyAdmin переходим на вкладку «Импорт». В разделе «Импортируемый файл» в зависимости от места, где вы сохраняли копию базы данных, выбираем источник. После этого жмем на кнопку «ОК», расположенную в нижней части экрана:


Иногда после внесения каких-либо изменений требуется восстановить не всю базу данных, а лишь определенную таблицу. Такая возможность также реализована в PHPMyAdmin. Для этого на странице нужной таблицы внизу ее структуры из выпадающего списка выбираем соответствующий пункт и внизу жмем на «Ок»:

К сожалению, в MySQL изменение или ограничение размера баз данных не поддерживается. Из средств, встроенных в PHPMyAdmin для этого можно использовать лишь оптимизацию таблиц. Данная операция является еще одним параметром из выпадающего списка, изображенного выше.

Также для уменьшения размеров базы данных рекомендуется сохранять ее резервные копии в виде архивов. Сжатие (компрессия) резервных копий настраивается в одноименном пункте на вкладке «Экспорт» в разделе «Вывод»:


Еще одним способом уменьшения размера БД MySQL является следующий набор действий:

  • Создание дампа (копии) через командную строку с использованием команды mysqldump;
  • Удаление всех баз данных;
  • Остановка всех службы MySQL;
  • Последующее восстановление удаленных баз данных из дампа:


Такой подход применим лишь для локальных серверов баз данных. Но никак не для баз, использующихся в интернете. Не каждый ресурс может позволить себе остановку и перезапись всех данных. Уж слишком высока вероятность потери информации и работоспособности всего сайта.

Поэтому для популярных движков разработано большое количество специальных расширений и плагинов. Они позволяют сразу после создания базы данных MySQL настроить ее оптимизацию с помощью периодической очистки всех таблиц и журналов.

Как видите, MySQL является оптимальной СУБД для построения движков на основе php. А PHPMyAdmin – основным средством администрирования баз данных MySQL в интернете.

www.internet-technologies.ru

Узнать размер базы MySQL — Записки админа

Получить размер базы MySQL можно как с помощью команды du (подсчитав размер директории с базой), так и с помощью специального запроса в рамках MySQL непосредственно.

Узнать размер с помощью du можно, например, так:

# cd /var/lib/mysql/
# du -sh slax_site/
2,9M slax_site/
Размер базы MySQL запросом.

Однако размер базы данных может отличаться от размера занятого директорией места на диске. Для того что бы узнать размер БД, можно сделать запрос к information_schema — базе, в которой хранится информация о всех БД (и их настройках) на сервере. Получить размеры базы данных можно вот таким запросом:

SELECT table_schema AS "Database Name", 
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size in (MB)" 
FROM information_schema.TABLES
WHERE table_schema = "slax_site" 
GROUP BY table_schema;

размер базы mysql

Здесь slax_site — имя базы, размер которой мы хотим узнать.

Для того что бы увидеть размер всех баз, уберём одно условие из запроса:

SELECT table_schema AS "Database Name", 
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size in (MB)" 
FROM information_schema.TABLES
GROUP BY table_schema;

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

SELECT table_name AS "Table Name",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size in (MB)"
FROM information_schema.TABLES
WHERE table_schema = "slax_site"
ORDER BY (data_length + index_length) DESC;

размер базы mysql

Здесь мы получаем размер каждой таблицы в базе slax_site.

@SysadminNotes | https://sysadmin.pm

sysadmin.pm

Насколько большими могут быть таблицы в MySQL?

MySQL версии 3.22 имеет предел по размеру таблиц 4 Гб. В MySQL версии 3.23, где используется новый тип таблиц, максимальный размер таблицы доведен до 8 миллионов терабайтов (2 ^ 63 bytes).

Однако следует заметить, что операционные системы имеют свои собственные ограничения по размерам файлов. Ниже приведено несколько примеров:

Операционная система Ограничения на размеры файла
32-разрядная Linux-Intel 2Gb, 4Gb и более, в зависимости от версии Linux
Linux-Alpha 8T (?)
Solaris 2.5.1 2 Гб (с патчем возможно 4Gb)
Solaris 2.6 4Gb (может быть изменено при помощи указания флага)
Solaris 2.7 Intel 4 Гб
Solaris 2.7 UltraSPARC 512 Гб

В Linux 2.2 существует возможность создавать таблицы с размерами более 2 Гб, используя патч LFS для файловой системы ext2. Существуют также патчи, обеспечивающие поддержку больших файлов для ReiserFS в Linux 2.4.

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

По умолчанию MySQL-таблицы имеют максимальный размер около 4 Гб. Для любой таблицы можно проверить/определить ее максимальный размер с помощью команд SHOW TABLE STATUS или myisamchk -dv table_name. Синтаксис команды SHOW.

Если необходимы таблицы большего размера, чем 4 Гб (и используемая операционная система «не возражает»), следует при создании такой таблицы задать параметры AVG_ROW_LENGTH и MAX_ROWS (Синтаксис оператора CREATE TABLE). Эти параметры можно задать и позже — с помощью ALTER TABLE (Синтаксис оператора ALTER TABLE).

Если большая таблица предназначена только для чтения, можно воспользоваться myisampack, чтобы слить несколько таблиц в одну и сжать ее. Обычно myisampack ужимает таблицу по крайней мере на 50%, поэтому в результате можно получить очень большие таблицы (myisampack, MySQL-генератор сжатых таблиц (только для чтения)).

Есть еще одна возможность обойти ограничения операционной системы на размеры файлов данных MyISAM, — это делается при помощи опции RAID (Синтаксис оператора CREATE TABLE).

Еще одним решением может быть использование функции MERGE, которая обеспечивает возможность обрабатывать набор идентичных таблиц как одну таблицу (Таблицы MERGE).

mysqlru.com