Can Not install Percona Server 5.6 on 512 RAM Server??

Hi ,
I am trying to install Percona Server 5.6 on Server having 512 MB RAM.
My System Info
Distributor ID: Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty

I am getting this error

[B]Setting up percona-server-server-5.6 (5.6.20-68.0-656.trusty) …

  • Stopping MySQL (Percona Server) mysqld [ OK ]

  • Percona Server is distributed with several useful UDF (User Defined Function) from Percona Toolkit.

  • Run the following commands to create these functions:

mysql -e “CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME ‘libfnv1a_udf.so’”
mysql -e “CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME ‘libfnv_udf.so’”
mysql -e “CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME ‘libmurmur_udf.so’”

  • See http://www.percona.com/doc/percona-server/5.6/management/udf_percona_toolkit.html for more details

  • Starting MySQL (Percona Server) database server mysqld [fail]
    invoke-rc.d: initscript mysql, action “start” failed.
    dpkg: error processing package percona-server-server-5.6 (–configure):
    subprocess installed post-installation script returned error exit status 1
    Errors were encountered while processing:
    percona-server-server-5.6
    E: Sub-process /usr/bin/dpkg returned an error code (1)[/B]

But When I create 1 GB swap space it gets installed properly.

I guess the failure because of overallocated buffers size, can you suggest me recommended we to install percona server 5.6 without creating swap on 512MB RAM server.

Hi Harshad;

Is this just a testing server? You can reduce the memory footprint of MySQL, but you will not be able to do a whole lot with 512MB of memory for the entire server as the OS itself will take up quite a bit of that. On that note, you should try and shut down any processes you can to reduce the amount of memory taken up by the OS / other non-MySQL programs/services.

The easiest thing you can try is set innodb_buffer_pool_size to 6MB which is about the lowest it can go. The default value for 5.6 is about 134MB, so that will give you around 128MB more to work with. If that is not enough, then you will need to start tuning other parameters that already use a small amount of memory but can be set even lower.

Below is a list of settings you can change to lower values (copied from: http://www.tocker.ca/2014/03/10/configuring-mysql-to-use-minimal-memory.html). Note that reducing everything to the minimum will of course reduce performance, so keep that in mind:

innodb_buffer_pool_size=6M
innodb_log_buffer_size=256K
query_cache_size=0
max_connections=10
key_buffer_size=8
thread_cache_size=0
host_cache_size=0
innodb_ft_cache_size=1600000
innodb_ft_total_cache_size=32000000

per thread or per operation settings

thread_stack=131072
sort_buffer_size=32K
read_buffer_size=8200
read_rnd_buffer_size=8200
max_heap_table_size=16K
tmp_table_size=1K
bulk_insert_buffer_size=0
join_buffer_size=128
net_buffer_length=1K
innodb_sort_buffer_size=64K

#settings that relate to the binary log (if enabled)
binlog_cache_size=4K
binlog_stmt_cache_size=4K

-Scott

Hi Harshad;

What is the error in the log now? Might be hitting something else. Also try shutting down nginx and anything else you can to see if MySQL will start then or not.

If you cannot get it going due to memory after setting everything above, then I would just run the swap space as you did initially for testing.

-Scott