備忘録

備忘録

MariaDB Host 'x.x.x.x' is blocked because of many connection errors

エラー全文は以下のとおりです。

Host 'x.x.x.x' is blocked because of many connection errors;
unblock with 'mysqladmin flush-hosts'
一時的な対処法

回数をリセットすることにより、一時的な対処を行います。
1) ブロックされていないホストからMariaDBに接続します。

mysql -h 10.226.x.x -u user -p

2) flush hosts; を実行する

MariaDB[none]> flush hosts;
Query OK, 0 rows affected (0.02 sec)

以上です。

恒久的な対処法

上記の一時的な対処を行い、更にエラー許容回数を任意の数に変更します。
MariaDBのエラーの許容回数はデフォルトで100です
公式より

1) 現在の値を確認する

MariaDB [(none)]> show global variables like 'max_connect_errors';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| max_connect_errors | 100   |
+--------------------+-------+
1 row in set (0.02 sec)

2) 任意の値を設定する。

vim /etc/my.cnf.d/server.cnf

[mysqld]
max_connect_errors = 9999999

3) MariaDBを再起動する

# CentOS 7
systemctl restart mysqld.service

# CentOS 6
service mysqld restart

4) 値が設定されているか確認する。

MariaDB [(none)]> show global variables like 'max_connect_errors';
+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_connect_errors | 9999999 |
+--------------------+---------+
1 row in set (0.03 sec)