web-dev-qa-db-ja.com

MariaDB-my.cnfを介してmax_connectionsを設定できません

/etc/my.cnfでmax_connectionsパラメーターを設定するのに苦労していますが、MariaDBがファイルからパラメーターを読み取っていないようです。

私の/etc/my.cnfファイル:

[mysqld]
#skip-grant-tables
datadir=/data/mysql
socket=/data/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# network
connect_timeout = 60
wait_timeout = 28800
max_connections = 100000
max_allowed_packet = 64M
max_connect_errors = 1000

# limits
tmp_table_size = 512M
max_heap_table_size = 256M
table_cache = 512

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

[client]
port = 3306
socket= /data/mysql/mysql.sock

しかし、MariaDBで変数を確認すると、デフォルト値が表示されます。

MariaDB [(none)]> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 214   |
+-----------------+-------+
1 row in set (0.00 sec)

ただし、my.cnfの他のパラメーターは正しいです。

MariaDB [(none)]> show variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 28800 |
+---------------+-------+
1 row in set (0.00 sec)

MariaDB [(none)]> show variables like 'max_allowed_packet';
+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| max_allowed_packet | 67108864 |
+--------------------+----------+
1 row in set (0.00 sec)


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

MariaDB [(none)]> show variables like 'connect_timeout';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 60    |
+-----------------+-------+
1 row in set (0.00 sec)

この変数はmysqlコマンドラインから設定できますが、サービスを再起動すると自動的にリセットされます。

MariaDB [(none)]> set global max_connections := 10000;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 10000 |
+-----------------+-------+
1 row in set (0.00 sec)

OS:RHEL 7

MariaDBバージョン:mariadb-server-5.5.47-1.el7_2.x86_64

ここを参照してください: https://dba.stackexchange.com/questions/137487/mariadb-cannot-set-max-connections-and-wait-timeout-through-my-cnf

6
Iokanaan Iokan

解決策はここにあると思います。開いているファイルの制限を増やします。

https://dba.stackexchange.com/questions/12061/mysql-auto-adjusting-max-connections-values

3
mootmoot

私はubuntuサーバーで同じ問題を抱えています。 nd私はこのファイル/etc/mysql/my.cnfを変更しました

max_connections = 1000

次に、クエリを実行します。間違ったファイルを変更しています。

1
Ket.

Maria DBを搭載したUbuntuサーバーで、パラメーターmax connections in / etc/mysql/mariadb.conf.d/50-server.cnfを入力します。

変更を有効にするには、サービスを再起動します。

systemctl restart mariadb
0
Strix