Назад | Перейти на главную страницу

Percona mysql-server в ubuntu 16.04

Проблема: не удается установить сервер Percona mysql.

Платформа: Ubuntu 16.04 x64 Server - это контейнер Openvz.

Память: 1,5 ГБ

способ установки

apt-get install percona-xtradb-cluster-server-5.6

Источник:

cat /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu xenial main restricted universe
deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted universe
deb http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu xenial partner

Ошибка отображается после установки.

Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package percona-xtradb-cluster-server-5.6 (--configure):
subprocess installed post-installation script returned error exit status 1
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Processing triggers for systemd (229-4ubuntu7) ...
Errors were encountered while processing:
percona-xtradb-cluster-server-5.6

Ошибки, обнаруженные в журнале mysql

2016-08-05 19:12:42 9926 [Note] InnoDB: Memory barrier is not used
2016-08-05 19:12:42 9926 [Note] InnoDB: Compressed tables use zlib 1.2.8
2016-08-05 19:12:42 9926 [Note] InnoDB: Using Linux native AIO
2016-08-05 19:12:42 9926 [Note] InnoDB: Not using CPU crc32 instructions
2016-08-05 19:12:42 9926 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2016-08-05 19:12:42 7fa6fc84f740  InnoDB: Assertion failure in thread 140355177871168 in file ut0mem.cc line 10
InnoDB: Failing assertion: ret || !assert_on_error
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
13:42:42 UTC - mysqld got signal 6 ;

Как предположил Анубиоз, это была проблема с памятью. Я увеличил память до 2 ГБ и переустановил percona-mysql. Как уже упоминалось, это был контейнер openvz. Ниже приведены изменения, которые я внес в контейнер.

vzctl set ctid --vmguarpages 1500M --save
vzctl set ctid --oomguarpages 1500M --save
vzctl set ctid --privvmpages 1500M:2048M --save

Кажется, у вас заканчивается память, пожалуйста включить файл подкачки или измените значения my.cnf так, чтобы они соответствовали размеру вашей памяти. Вырежьте половину каждого значения памяти или используйте что-то вроде:

key_buffer = 16K
max_allowed_packet = 1M
sort_buffer_size = 32K
read_buffer_size = 128K
read_rnd_buffer_size = 128K
net_buffer_length = 2K
thread_stack = 64K
tmp-table-size  = 8M
max-heap-table-size = 8M
innodb-buffer-pool-size = 16M
key_buffer = 8M
sort_buffer_size = 8M