Чистим разросшийся файл MySql / MariaDB ibdata1
В MySQL / MariaDB есть замечательный файл для хранения таблиц – ibdata1. Иногда он становится слишком большим – приходит время "прибраться"
В MySQL есть такой замечательный файл — ibdata1. Замечателен о не только тем, что растёт как дурак, но и тем, что хранит кучу данных сервера.
Начнём с того, что просто удалить его можно, но это приведёт к уничтожению данных таблиц. ibdata1 хранит данные таблиц (кроме схем — они хранятся в других файлах), индексы и прочую информацию. Альтернатива хранению в одном файле — хранить для каждой таблицы эту информацию в отдельном файле. Собственно это я и предлагаю сделать.
mysqldump --all-databases > alldb.sql
используем, чтобы выгрузить все данные сервера- Удаляем все базы кроме служебных mysql.
- Останавливаем mysql.
- Добавим в my.cnf (во многих дистрибутивах этот файл лежит в /etc/mysql) в секцию
[mysqld]
строчку
innodb_file_per_table
- Удаляем /var/lib/mysql/ibdata1 и /var/lib/mysql/ib_logfile* файлы.
- Поднимаем сервер mysql
- Заливаем дамп в базу
cat alldb.sql | mysql -uroot -p
- Как создать неизменяемый файл в Linux / MacOS / FreeBSD
- Bash < потоки ввода > вывода && управляющие конструкции || коротко о главном
- Лучше плохо, но сейчас. Взгляд на пути развития ПО
- Решаем проблему ERROR 1348 column password is not updatable при обновлении пароля root в MySQL / MariaDB
- Решаем проблему ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number и Error Code: 1064 в MySQL / MariaDB

Если у Вас в запущенных программах вместо букв появились квадратики/вопросики и прочие кракозябры — это повод задуматься: «А есть ли у меня нужные этой программе шрифты», «А в той ли кодировке программа выводит текст?».

В MySQL есть такой замечательный файл — ibdata1. Замечателен о не только тем, что растёт как дурак, но и тем, что хранит кучу данных сервера.