MySQL теряет соединения

Позвольте мне объяснить историю этого вопроса,

Я запускаю Centos 7 на выделенном сервере, когда я установил его впервые, я не создал ни одного раздела, потому что не очень хорошо знаю, как это сделать, и на самом деле я думаю, что это невозможно, потому что я не могу сделать резервную копию всего сервера в другой машине.

Итак, это мой диск:

[root@ns527667 ~]# lsblk
NAME   MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT
sda      8:0    0    1.8T  0 disk 
└─sda1   8:1    0 1004.5K  0 part 
└─sda2   8:2    0   19.5G  0 part /
└─sda3   8:3    0    1.8T  0 part /home
└─sda4   8:4    0    511M  0 part [SWAP]

Я установил сервер MySQL на / раздел, но со временем все мои базы данных значительно выросли, поэтому я решил перенести их в /home раздел, было приятно. Я забыл космический вопрос тогда. До переезда я смог подключиться к своей БД с помощью localhost в качестве хоста БД, но он начинает иметь проблему с соединением, иногда мои приложения теряют соединение, поэтому я изменил хост БД на 127.0.0.1 в тот момент это решало проблему, но теперь иногда он снова терял связь. И несколько раз время отклика между запросом и результатом его высоко (примерно 5-5000 мс).

я бегу MySQLTunner и он предложил мне изменить некоторые переменные, поэтому я изменил много переменных, таких как:

SET GLOBAL max_connections = 500;
SET @@GLOBAL.long_query_time = 1;
SET GLOBAL tmp_table_size = 128000000;
SET GLOBAL max_heap_table_size = 128000000;
SET GLOBAL key_buffer_size = 32000000;
SET GLOBAL thread_cache_size = 20;
SET GLOBAL max_allowed_packet = 8000000;

На самом деле мои соединения раундов 150-200

Я оптимизировал или, по крайней мере, я думаю, что я сделал это на всех моих InnoDB

mysqlcheck --user=root --password="pass" -o --all-databases

Это мое /etc/my.cnf

[mysqld]
datadir=/home/var/lib/mysql
socket=/home/var/lib/mysql/mysql.sock
interactive_timeout=86400
wait_timeout=86400
max_connections=1000
innodb_buffer_pool_size=256M
skip-name-resolve
slow-query-log = 1
slow-query-log-file = /home/var/lib/mysql/mysql-slow.log
long_query_time = 2
bind-address="127.0.0.1"
port=3306

symbolic-links=0

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

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

[client]
socket=/home/var/lib/mysql/mysql.sock
port=3306

Я использую различные java-приложения, и они отлично работают на моем персональном компьютере, но на сервере иногда теряется соединение с такими ошибками:

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

или же

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Теперь я не знаю, что делать..

0 ответов

Другие вопросы по тегам