Архив рубрики: Databases

A NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases.
A relational database management system is a database management system based on the relational model of data.

AWS RDS: PDOException: SQLSTATE[08004] [1040] Too many connections

26 декабря 2018
 

 В Sentry начали сыпаться ошибки вида: PDOException: SQLSTATE[08004] [1040] Too many connections in /data/projects/project/vendor/yiisoft/yii2/db/Connection.php:687 Stack trace: #0 /data/projects/project/vendor/yiisoft/yii2/db/Connection.php(687): PDO->__construct(‘mysql:host=stag…’, ‘user’, ‘pass’, NULL) Для всех инстансов RDS MariaDB максимальное кол-во подключений считается по формуле {DBInstanceClassMemory/12582880}. Т.е. в нашем случае это тип db.m4.xlarge с 16ГБ памяти, следовательно: [simterm] $ echo «(16*1024*1024*1024)/12582880» | bc 1365 [/simterm] Для указания значения лимита… Читать далее »

MySQL: Exception message: (1049, \»Unknown database ‘mysql’\»)

11 сентября 2018
 

 Баловался с MySQL, и перед переустановкой сервера удалил директорию /var/lib/mysql (намеренно). После этого переустановил MySQL: [simterm] # apt install mariadb-server —reinstall [/simterm] Но при попытке выполнить действие — Ansible сообщает: FAILED! => {«changed»: false, «msg»: «unable to connect to database, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1049, \»Unknown… Читать далее »

Prometehus: MySQL exporter

7 августа 2018
 

 Ещё одна задача по мониторингу — проверять доступ к серверу баз данных. Краткая заметка просто для примера. Используем prometheus/mysqld_exporter. Подключаемся к серверу БД, добавляем пользователя: [simterm] MariaDB [(none)]> CREATE USER ‘prometheus’@’10.0.2.7’ IDENTIFIED BY ‘password’; Query OK, 0 rows affected (0.00 sec) [/simterm] Задаём ему права доступа: [simterm] MariaDB [(none)]> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.*… Читать далее »

MySQL/MariaDB: ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number

16 июля 2018
 

 В MySQL имеется функция PASSWORD() для получения хеша из строки с паролем, котоаря используется самим MySQL для проверки авторизации. При добавлении пользователя с использованием этой функции и при передачи пароля открытым текстом — возникает ошибка: [simterm] MariaDB [(none)]> CREATE USER ‘ruser’@’%’ IDENTIFIED BY PASSWORD ‘password’; ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number… Читать далее »

MariaDB: AWS RDS read-replica и Seconds_Behind_Master

10 июля 2018
 

 Имеется AWS RDS read-replica сервер, у котого постоянно растёт значение Seconds_Behind_Master. Ниже — попытки разобраться в причинах и исправить ситуацию. Забегая наперёд — причину нашёл, однако решения как избежать её в будущем не искал, а «пофиксилось» путём запуска нового read-replica сервера, но на будущее оставлю себе запись о том, как проверял статус и искал решение.… Читать далее »

AWS: RDS — сбросить пароль администратора

4 июля 2018
 

 Имеется инстанс, развёрнутый из снапшота, пароль утерян. Что бы сменить пароль — выбираем инстанс, выбираем Modify: И в Settings — задаём новый пароль: Выбираем Apply immediately: Внимательно читаем предупреждение, что в таком случае будут применены все текущие изменения, который ждут maintatnce window. Например — мажорный/минорные апдейты версии, что может инициировать рестарт инстанса: Potential unexpected downtime… Читать далее »

Memcached: установка, примеры

30 мая 2018
 

 Memcached — ещё одна key:value система кеширования, аналогичная Redis. Основное ограничение и отличие — memcached не хранит данные постоянно, т.е. при рестарте сервера данные из памяти будут утеряны. Кратко её установка и примеры использования. Установка pacman На Arch Linux можно установить из репозитория с помощью pacman: [simterm] $ sudo pacman -S memcached [/simterm] Debian/Ubuntu —… Читать далее »

MariaDB: AWS RDS — Lost connection to MySQL Server During Query

29 мая 2018
 

 При выполнении запроса из Tableau сервера — он завершается ошибкой: [MySQL][ODBC 5.3(w) Driver][mysqld-5.5.5-10.2.11-MariaDB]Lost connection to MySQL server during query Unable to create extract Решение — изменить параметр net_read_timeout. Переходим к RDS > Parameter groups, находим net_read_timeout: Выбираем параметр, жмём Edit parameters, задаём новое значение, например 60 секунд: Проверяем: [simterm] MariaDB [(none)]> show variables like ‘net_read_timeout’;… Читать далее »

Redis: установка, запуск, примеры

28 мая 2018
 

 Redis — система хранения и обработки данных, написанная на C, которую можно использовать как базу данных, сервис кеширования и менеджер очередей. Обслуживаемые им данные хранятся в памяти (in-memory dataset), периодически синхронизируясь с данными на жестком диске, в зависимости от конфигурации Redis. Установка Redis Redis можно установить с помощью менеджера пакетов ОС, из исходников, либо запустить… Читать далее »

AWS: GDPR и RDS — миграция на encrypted RDS

17 мая 2018
 

 Наверняка уже все слышали про General Data Protection Regulation (GDPR),  который вступит в силу 25-го мая 2018 года. Если нет, то в двух словах — это набор правил, которым должны соответствовать компании, которые собирают и хранят данные, в которых содержится информация о жителях Евросоюза (впрочем — США готовятся принять аналогичный документ). В первую очередь эти правила… Читать далее »