Page 1 of 2

Невозможно залить дамп БД

Posted: Fri Dec 26, 2014 12:06 pm
by someuser
Через импорт phpmyadmin.
Дамп размером 10мб.

Ошибка #2006 - MySQL server has gone away
(В момент заливки дампа, процесс apache2 нагружает оба ядра на 100%, иногда появляется ERROR 500)


Сервер Debian 7 x86, OpenVZ, 2GB RAM, 2x2.8Ghz Xeon, OpenVZ, 128mb swap, 60GB HDD

В php.ini

upload_max_filesize=128M
post_max_size=128M
max_execution_time=300

В my.cnf

max_allowed_packet = 128M

Re: Невозможно залить дамп БД

Posted: Fri Dec 26, 2014 9:21 pm
by Deeryo
Ну нужно глянуть лог ошибок mysql.

Re: Невозможно залить дамп БД

Posted: Sat Dec 27, 2014 8:25 am
by someuser
В логах пусто.

Re: Невозможно залить дамп БД

Posted: Sat Dec 27, 2014 9:58 pm
by Deeryo
Ошибка выглядит так, будто max_allowed_packet маловат, но в my.cnf большое число. Странно

Re: Невозможно залить дамп БД

Posted: Mon Dec 29, 2014 2:32 pm
by demian
приведите полный конфиг mysql

Re: Невозможно залить дамп БД

Posted: Tue Dec 30, 2014 3:58 pm
by someuser
demian wrote:приведите полный конфиг mysql

Code: Select all

[client]
port=3306
socket=/var/run/mysqld/mysqld.sock

[mysqld_safe]
socket=/var/run/mysqld/mysqld.sock

[mysqld]
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
port=3306
skip-external-locking

sort_buffer_size=64K
read_buffer_size=256K
read_rnd_buffer_size=256K
net_buffer_length=2K
max_allowed_packet=100M
thread_stack=64K

basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp

myisam-recover = BACKUP
#max_connections = 100
table_cache = 64
#thread_concurrency  = 10



[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

thread_cache_size=16
join_buffer_size=512K
max_heap_table_size=16M
tmp_table_size=16M


symbolic-links=0
max_connections=400
max_user_connections=60
wait_timeout=30
interactive_timeout=50
long_query_time=5

query_cache_type=1
query_cache_size=32M
query_cache_limit=2M
tmp_table_size=32M

#log-queries-not-using-indexes
#log-slow-queries=/var/log/mysql/log-slow-queries.log

#innodb_use_native_aio = 0
innodb_file_per_table
innodb_use_native_aio = 0
innodb_data_home_dir = /var/lib/mysql
innodb_data_file_path = ibdata1:50M:autoextend
innodb_log_group_home_dir = /var/lib/mysql
innodb_thread_concurency=2
innodb_buffer_pool_size = 2M
innodb_additional_mem_pool_size = 500K

innodb_log_file_size = 16M
innodb_log_buffer_size = 500K
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
innodb_lock_wait_timeout = 50

[mysqldump]
quick
quote-names
max_allowed_packet	= 16M

!includedir /etc/mysql/conf.d/

Re: Невозможно залить дамп БД

Posted: Mon Jan 12, 2015 11:57 am
by demian
много всего лишнего, мешающего работе, напихано. даже на вскидку 5 параметров мешающих нормальной работе.

очистите конфиг замените на это(желательно читать коментарии)

Code: Select all

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
max_connections=100
max_user_connections=30 # комментировать при наличии одного сайта
wait_timeout=30
interactive_timeout=50
slow-query-log = 0 # для включения логирования установить 1
long_query_time=5
#log-queries-not-using-indexes
slow-query-log-file = /var/log/mysql-slow.log # файл должен существовать иметь овнера mysql

skip-external-locking
key_buffer_size = 16M # key_buffer - НЕ РАБОТАЕТ(игнорируется) начиная с версии 5.5
max_allowed_packet = 16M
table_open_cache = 4k
sort_buffer_size = 512k
read_buffer_size = 512k
read_rnd_buffer_size = 512k
join_buffer_size = 512k
myisam_sort_buffer_size = 8M 
thread_cache_size = 128 # кэш открытых потоков которые будут закэшированы ~ max_connections=100 
query_cache_size = 16M # параметр может быть увеличен >=128M влияет на потребление памяти ядром
query_cache_limit = 16M # лимитирует объем запросов попадающих в кэш
tmp_table_size = 32M # параметр может быть увеличен >=128M влияет на потребление памяти ядром
max_heap_table_size = 32M # лимитирует объем временной таблицы попадающей в кэш

#innodb_use_native_aio = 0
innodb_file_per_table
innodb_buffer_pool_size = 32M # с версии 5.5 минимальное возможное значение 5M, значение по умолчанию 128M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
рабочий конфиг с сервер 2ядра, 1 гиг, аптайм системы 176дней, скула 18 дней после последнего обновления(за время работы 17 медленных запросов)
занимаемое место таблицами:
myisam таблицы 3 гига
InnoDB таблицы 24 метра - RoundCube

18 сайтов (среди которых 3 багтрекера)
при данных лимитах mysql потребляет 337.0M(ядро 112.0M + 2.2M на каждое подключение - max_connections=100)

Re: Невозможно залить дамп БД

Posted: Mon Jan 19, 2015 11:02 am
by patoka
Получилось ли исправить проблему?
Столкнулся с тем же,
Вопрос выложил в
viewforum.php?f=32

т.е сначало выдавало
Ошибка #2006 - MySQL server has gone away

а теперь
500 Internal Server Error

Re: Невозможно залить дамп БД

Posted: Thu Jan 22, 2015 4:35 pm
by someuser
demian wrote:много всего лишнего, мешающего работе, напихано. даже на вскидку 5 параметров мешающих нормальной работе.

очистите конфиг замените на это(желательно читать коментарии)
Не удалось запустить mysql сервер с данным конфигом.
На другом сервере удалось таки использовать этот конфиг, там схожие проблемы были.

Re: Невозможно залить дамп БД

Posted: Thu Jan 22, 2015 4:36 pm
by someuser
patoka wrote:Получилось ли исправить проблему?
Столкнулся с тем же,
Залить большой дамп легко удалось с помощью sypex dumper2.