MySQL: отстающая реплика

MySQL: отстающая реплика

Все мы знаем, что бывает «холодный» и «горячий» бэкап базы данных. «Горячий» бэкап позволяет нам переключиться практически «на лету», используя реплику вместо мастера. Да да — речь о репликации. «Холодный» же бэкап — это копии базы, как правило сжатые в…

MySQL: снятие данных для реплики

MySQL: снятие данных для реплики

Необходимо создать реплику с нуля. Для создания реплики базы mysql  обычно используют Mysqldump. Простое и универсальное решение. Позволяет создать дамп как всех баз, так и отдельно одной таблицы одной базы.

Конвертация таблицы в InnoDB с помощью pt-online-schema-change

Конвертация таблицы в InnoDB с помощью pt-online-schema-change

На одном нашем старом, но довольно мощном сервере баз данных большая часть таблиц использовала движок MyIsam, потому что так  исторически сложилось. Со временем нагрузка возросла, объемы данных тоже — и сервер начал медленно отвечать на запросы. Основной причиной была высокая нагрузка на…

Перенос табличек InnoDB Mysql

Перенос табличек InnoDB Mysql

Во времена господствования MYISAM перенос табличек из базы в базу, даже если база была на другом носителе, труда не представлял. Для этого было достаточно выполнить flush table <table name>, скопировать три файла с расширением «MYD, MYI, frm» в папку нужной базы…

Шпаргалка по MYSQL

На заметку пара-тройка нужных команд: —размер базы— SELECT table_schema "database_name", sum( data_length + index_length )/1024/1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema; —тип движка таблицы— select engine from information_schema.tables where table_name='имя_таблицы';

Восстановление реплики mysql с другой реплики

Задача: создать реплику(р2) базы MYSQL, используя другую ее реплику(р1). То есть обе реплики должны использовать одного мастера(м). При этом мастер нельзя останавливать. Базы используют MYISAM. Решение:  На самом деле, задача тривиальная, если знать, что как работает.

MYSQLDUMP потаблично

Иногда возникает необходимость сделать дамп базы потаблично. А база большая… а таблиц много… Для этого был написан простецкий скриптик, предлагаю вам его на ваш суд: #!/bin/bash USER="user" PASSWORD="passwd" DBname="yourdb" mysql -u $USER -p$PASSWORD $DBname -e 'show tables' -s —skip-column-names | xargs -P4…