Архив рубрики: MySQL/MariaDB

MySQL и MariaDB — are an open source relational database management systems.

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ГБ памяти, следовательно: Для указания значения лимита используется переменная max_connections: Проверяем значение напрямую на сервере: Ну… Читать далее »

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

11 сентября 2018
 

 Баловался с MySQL, и перед переустановкой сервера удалил директорию /var/lib/mysql (намеренно). После этого переустановил MySQL: Но при попытке выполнить действие — 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 database ‘mysql’\»)»} И в самом деле —… Читать далее »

Prometehus: MySQL exporter

7 августа 2018
 

 Ещё одна задача по мониторингу — проверять доступ к серверу баз данных. Краткая заметка просто для примера. Используем prometheus/mysqld_exporter. Подключаемся к серверу БД, добавляем пользователя: Задаём ему права доступа: Запускаем експортер: Проверяем метрики: Добавляем в Ansible шаблон Compose файла: … mysql_exporter: image: prom/mysqld-exporter networks: — prometheus-client ports: — 9104:9104 environment: — DATA_SOURCE_NAME={{ mysql_monitoring_user }}:{{ mysql_monitoring_pass }}@({{… Читать далее »

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

16 июля 2018
 

 В MySQL имеется функция PASSWORD() для получения хеша из строки с паролем, котоаря используется самим MySQL для проверки авторизации. При добавлении пользователя с использованием этой функции и при передачи пароля открытым текстом — возникает ошибка: Вариант первый — не использовать PASSWORD(), и передать пароль открытым: Проверяем: Вариант второй — таки сначала получить хеш пароля, вызвав PASSWORD()напрямую: И… Читать далее »

MariaDB: AWS RDS read-replica и Seconds_Behind_Master

10 июля 2018
 

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

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 секунд: Проверяем: При использовании CloudFormation — параметр можно передать… Читать далее »

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

17 мая 2018
 

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

AWS: тестируем производительность NGINX, PHP-FMP и MariaDB локально и на разных хостах

16 мая 2018
 

 В посте Ansible: миграция RTFM 2.11 – хост Services – установка PHP, PHP-FPM я закончил на том, что надо протестировать работу связки NGINX+PHP-FPM+MariaDB для WordPress при использовании AWS EFS для файлов сайта. Ниже результаты проверки при следующих вариантах использования NGINX + PHP-FPM: NGINX, PHP-FPM и MariaDB установлены локально, общаются через UNIX-сокет NGINX, PHP-FPM и MariaDB… Читать далее »

MySQL: database error Disk full и purge binary logs

23 марта 2018
 

 Упал блог, в логах NGINX видна ошибка: 2018/03/19 13:17:11 [error] 5992#5992: *3105079 FastCGI sent in stderr: «PHP message: WordPress database error Disk full (/tmp/#sql_7348_0.MAI); waiting for someone to free some space… (errno: 28 «No space left on device») ОК, идём на сервер баз данных, проверяем место: А на диске всего 7.8 GB: Проверяем бинлоги MariaDB:… Читать далее »

MySQL/MariaDB: команды shell из консоли MySQL-клиента

19 марта 2018
 

 MySQL CLI позволяет быстро выполнять команды из консоли с bash или другим shell, загружать sql-скрипты и так далее. Очень удобно, что бы не выходить из MySQL, если надо быстро выполнить команду. Например — выполнить команды ls из консоли MySQL: Так же из консоли MySQL можно быстро перейти в консоль системы и обратно: Или выпонить sql-скрипт:… Читать далее »