Показаны сообщения с ярлыком MariaDB. Показать все сообщения
Показаны сообщения с ярлыком MariaDB. Показать все сообщения

четверг, 11 июля 2024 г.

mysql медленная репликация

 Бывает что слейв начинает отставать от мастера, поскольку на слейве репликация прокатывается в один поток. И тут помогает (для mariadb):

https://mariadb.com/kb/en/parallel-replication/

Впрочем, был подсказан ещё вариант, менее надёжный, более быстрый (на слейве):

SET GLOBAL sync_binlog = 0; SET GLOBAL  innodb_flush_log_at_trx_commit = 0;

суббота, 23 октября 2021 г.

Бэкапы mysql в 2021

 Кроме штатно mysqldump, который лочит таблицы, что вызывает в работе прода, есть весьма известный percona xtrabackup и сильно менее известный mariabackup

Отличия 2 утилит в том, что mariabackup это форк от xtrabackup, но там нужна целая матрица совместимостей -- тут можно только одним, там только другим, и между собой они совместимы не полностью. НО. Даже xtrabackup есть 2.4 и 8.0, и они тоже применимы в своих случаях! То есть 8.0 это только для mysql 8.0, для всех других версий ставить нужно строго 2.4.

Но и это не всё. mariabackup - судя по их сайту минимальная версия 10.2

The following MariaDB versions are currently supported:

mariadb-10.2

mariadb-10.3

mariadb-10.4

mariadb-10.5

Про xtrabackup можно почитать например это

https://habr.com/ru/post/520458/

Но сам бэкап ещё только пол дела, часто нужна информация о позиции в бинлоге (для поднятия слейва). Но и тут есть помощь, см

https://www.percona.com/doc/percona-xtrabackup/2.3/howtos/setting_up_replication.html

Ну и ещё чуть интересных ссылок

https://serveradmin.ru/polnyj-i-inkrementnyj-backup-mysql/

https://itc-life.ru/nastrojka-replikacii-mysql-s-pomoshhyu-xtrabackup-utility-percona/

https://minervadb.com/index.php/setup-mysql-slave-replication-with-percona-xtrabackup/

понедельник, 11 декабря 2017 г.

CentOS 7: переключаемся на оригинальный mysql

https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-7

Вкратце:
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -Uvh mysql57*

Если будет ошибка про MariaDB* - удаляем эти пакеты руками. Чтобы без завистимостей - делать это так
rpm -qa|grep <имя проблемного пакета>
rpm -e --nodeps <полное имя пакета из шага выше>

Если что, идти сюда:
https://dev.mysql.com/downloads/repo/yum/

Обращаю внимание, что если уже стоял MariaDB-server, его нужно сначала остановить, потом удалить. Если данные нужны - забэкапить. Потом
# service mysqld start

!!! Если сразу набрать mysql, будет ошибка что нужен пароль. Получить его можно так:
sudo grep 'temporary password' /var/log/mysqld.log
Делаем mysql_secure_installation
(где-то было, что с временным паролем можно зайти только 1 раз)

среда, 30 апреля 2014 г.

MySQL TokuDB: Высокопроизводительный MySQL-движок TokuDB переведён в разряд открытых проектов

http://www.opennet.ru/opennews/art.shtml?num=36779

Компания Tokutek открыла исходные тексты проекта TokuDB (Tokutek storage engine), в рамках которого развивается высокопроизводительный транзакционный движок хранения для MySQL и MariaDB. Вместо классических B-tree деревьев в TokuDB применяются рекурсивные индексы (Fractal Tree indexes), что в сочетании с хранением данных в сжатом виде, позволяет значительно оптимизировать операции ввода/вывода.

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

При проведении тестов, TokuDB опережает InnoDB при добавлении больших объемов данных более чем в 10 раз (InnoDB 1,555 записей в сек, TokuDB 16,437 записей в сек), но проигрывает по степени нагрузки на CPU при выборке данных. Недостаточная эффективность выборки данных компенсируется ситуациями когда требуется произвести выборку большого числа последовательно сохранённых записей. В некоторых тестах выигрыш в скорости добавления данных достигает 80 раз. Применяемые методы сжатия данных позволяют в разы уменьшить размер базы и индексов (в 6.2 раза по сравнению с InnoDB и в 5.5 раз по сравнению с MyISAM), в некоторых ситуациях степень сжатия данных может достигать 25 раз.

понедельник, 7 апреля 2014 г.

MariaDB multi-source replication

http://blog.mariadb.org/tag/mariadb-10/

Available since 10.0.0
  • Multi-source replication (MDEV-253)
    • Multi-source replication is a longtime wish of many users. In scenarios where you partition your data over many masters you can then replicate the data from all masters onto one slave. Typical use cases are:
      • Data partitioned over many masters can be pulled together onto one slave for analytical queries
      • Many masters can replicate to the same slave and a complete backup can be done on the slave
      • Newer hardware usually provides more performance. Usually all hardware isn’t upgraded at once and multi-source can be used for replicating many masters to a powerful new slave.
    • Original code from Taobao

Более подробное описание
https://mariadb.atlassian.net/browse/MDEV-253

Each master is handled by a specific replicator instance in the slave server. Each replicator instance consists of separate I/O thread, SQL thread, and associated state and configuration. In efffect, several replication slaves are running at the same time, each replicating from a separate master, but all replicating into a common data store (typically, but not necessarily to separate databases/tables).
A replicator instance is identified with a user-chosen name used in replication SQL statements such as CHANGE MASTER TO ... This name is also included in file names to distinguish the files that keep the replication state (relay logs, master.info, relay-log.info). This way, each separate instance can be configured separately, but otherwise the same way as existing single-source replication.

синтаксис
https://mariadb.com/kb/en/multi-source-replication/

понедельник, 24 сентября 2012 г.

freebsd+percona

Какое-то время, почти 2 года, был порт percona-server, но зимой возникли проблемы с его сборкой, и он как-то тихо пропал. Полностью пропал. Что с одной стороны печально, с другой - уже есть оф мускл 5.5 + mariadb, в которой есть и aria и xtradb и pbxt... Хотя на sql.ru марию не любят, и мне довелось долго с ней возиться. Версия 5.2.4 например была кошмаром, к 5.2.6 основные баги выловили, сейчас 5.3.8 - работает неплохо и весьма стабильно, с учетом что у нас много репликаций между серверами.

Интересно, в каких версиях кроме перконы есть такая штука:
http://kb.askmonty.org/en/slow-query-log-extended-statistics/

воскресенье, 27 мая 2012 г.

debian: percona, свежий nginx и subversion 1.7

Поскольку иногда требуется перкона + в штатной поставке ну вообще древний nginx аж 1.7 ветки, надо подключать доп репы, пишем каждую репу в свой файл в /etc/apt/sources.list.d/

nginx
http://wiki.nginx.org/Install

deb http://nginx.org/packages/debian/ squeeze nginx
deb-src http://nginx.org/packages/debian/ squeeze nginx

percona
Перкона молодцы, у них есть репы для основных линукс-дистрибутивов.
http://www.percona.com/docs/wiki/repositories:apt

deb http://repo.percona.com/apt  squeeze main
deb-src http://repo.percona.com/apt  squeeze main

MariaDB
Ещё одна замена оригинального mysql, более совместимая с оригиналом, но без некоторых плюшек
https://downloads.mariadb.org/mariadb/repositories/

для 5.5:
deb http://mirror.timeweb.ru/mariadb/repo/5.5/debian squeeze main
deb-src http://mirror.timeweb.ru/mariadb/repo/5.5/debian squeeze main

subversion
Штатный 1.6, и обновлять его не собираются, но мы давно перешли на 1.7, в частности из-за только 1 каталога .svn в корне проекта вместо тучи по всем каталогам.


deb http://opensource.wandisco.com/debian/ squeeze svn17

И ключи

nginx
gpg --keyserver  hkp://keys.gnupg.net --recv-keys ABF5BD827BD9BF62
gpg -a --export 7BD9BF62 | apt-key add -

percona
gpg --keyserver  hkp://keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
gpg -a --export CD2EFD2A | apt-key add -

mariadb
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db

subversion

gpg --keyserver  hkp://keys.gnupg.net --recv-keys E9F0E9223BBF077A
gpg -a --export 3BBF077A | apt-key add -

После этого делаем
apt-get update

Что странно: на оф странице ничего про эти ключи не было сказано, но по аналогии с перконой всё оказалось очень просто: после apt-get update получили ошибку

W: GPG error: http://nginx.org squeeze Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ABF5BD827BD9BF62
Номер ключа у нас есть, подставили в 1 команду вместо ключа перконы, получили
gpg: requesting key 7BD9BF62 from hkp server keys.gnupg.net
gpg: key 7BD9BF62: public key "nginx signing key <signing-key@nginx.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
Вот и номер ключа есть, его во 2 строку.

Теперь можно поставить percona-server-server и nginx
Для перконы советую также поставить percona toolkit (пакет percona-toolkit), замена maatkit-у.

C свн - проще снести старую версию и поставить новую, в конце напишет

Setting up subversion (1.7.5-1+WANdisco) ...
Setting up libsvn1 (1.7.5-1+WANdisco) ...

PS
Возможные ошибки.

gpg: requesting key 3BBF077A from hkp server keys.gnupg.net
?: keys.gnupg.net: Network is unreachable
gpgkeys: HTTP fetch error 7: couldn't connect: Network is unreachable
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

Для nginx - можно скачать подпись с офсайта.
wget http://nginx.org/packages/keys/nginx_signing.key
cat nginx_signing.key | apt-key add -

PPS Также есть репа dotdeb.org

echo deb http://packages.dotdeb.org squeeze all > /etc/apt/sources.list.d/dotdeb.list
echo deb-src http://packages.dotdeb.org squeeze all >> /etc/apt/sources.list.d/dotdeb.list
curl -s http://www.dotdeb.org/dotdeb.gpg | apt-key add -

понедельник, 27 февраля 2012 г.

MariaDB на centos

Для начала, идём на mariadb.org и выбираем нужную нам версию

Например, для стабильной версии 5.2:
downloads.askmonty.org/mariadb/5.2/

Там же есть инструкции. Но для 5.2 есть только всякие виндовые версии, а под центось только под 5 центось и рхел.

В итоге мы должны получить 3 .rpm файла: -shared, -server, -client
!!предварительно сносим mysql-*, иначе будут конфликты.
!!Сначала ставится -shared. Потом оставшиеся пакеты.

После завершения используем mysql_secure_installation