How to install Percona Server in cPanel/WHM servers

What is Percona Server ?

Percona Server is based on the original MySQL code, but functions as a drop-in that replaces MySQL .Like MySQL, Percona Server is open-source, so it is free and it benefits from additions from the community. Percona Inc. takes these and other improvements and makes them available as a package to the general public.

What are the advantages of using Percona Server ?
  •  Percona Server will be faster and more consistent for your database queries.
  • Percona Server is backward-compatible with MySQL, So your developers don’t need to change code or rewrite queries.
  • Percona Server takes advantage of the advances in multi-core CPUs, multithreading and solid-state drives.
  • Percona Server contains optimized algorithms for background processing, and enhancements to buffers and caches.
  • Percona Server need only less time in tuning and administering.
  • Percona Server can be easily troubleshoot without guesswork.There are more status counters available for monitoring than in MySQL, So you can get a clear picture of what is happening with your database server.
  • Percona Server will save money on hardware upgrades.
How can you replace MySQL with Percona Server in cPanel installed systems ?

Moving from MySQL to Percona Server is relatively straightforward.But this setup is considered to be unsupported by the cPanel/WHM team.So you may need to manage and maintain any updates and maintenance on the database software by your self.

You can do it by following the steps provided here:

Step 1:

Please make full database backup(including system tables) before switching to Percona. This action will prevent data losing in case if something goes wrong.This is the most time consuming section of this process.

# mysqldump --all-databases --routines --triggers > /home/db_dump/alldb.sql
# service mysql stop
# cp -r /var/lib/mysql/mysql /home/db_dump/
# service mysql start
Step 2:

Move your existing mysql configuration file ( /etc/my.cnf ).Your original MySQL my.cnf file should work fine for Percona but to reduce risk factor,I suggest you to move your existing mysql configuration file:

# mv /etc/my.cnf /etc/my.cnf.old
Step 3:

Disable the targets so cPanel no longer handles MySQL updates:

The following will mark the versions of MySQL distribute as uninstalled so they are no longer maintained by cPanel/WHM.

# /scripts/update_local_rpm_versions --edit target_settings.MySQL50 uninstalled
# /scripts/update_local_rpm_versions --edit target_settings.MySQL51 uninstalled
# /scripts/update_local_rpm_versions --edit target_settings.MySQL55 uninstalled
Step 4:

Remove existing MySQL RPMs so there’s a clean slate for Percona.

# /scripts/check_cpanel_rpms --fix --targets=MySQL50,MySQL51,MySQL55
Step 5:

Create a yum repository for Percona:

nano /etc/yum.repos.d/percona.repo

[percona]
name = CentOS $releasever - Percona
baseurl=http://repo.percona.com/centos/$releasever/os/$basearch/
enabled = 1
gpgkey = http://www.percona.com/redir/downloads/percona-release/RPM-GPG-KEY-percona
gpgcheck = 1
Step 6:

Remove php from the exclude section of /etc/yum.conf file then run the following commands to install Percona Server.

# yum install Percona-Server-client-55 Percona-Server-server-55 Percona-Server-devel-55
# /etc/init.d/mysql start
# mysql_upgrade
# /etc/init.d/mysql restart

Please make sure to add PHP back to exclude section of /etc/yum.conf file.

Step 7:

Compile PHP with newly installed MySQL libraries using :

# /scripts/easyapache --build

Make sure every websites work fine with new Percona Server.

References:

http://blog.cpanel.net
http://www.percona.com/software/percona-server

Dabackup version 3.0 is available

Recently we released  the directadmin backup plugin dabackup  3.0 with the following new  features / updates :

  • Updated rsync to version 3.1.0
  • Added  user home validation option for checking the existence of account.

We recommend to upgrade your dabackup version

How to reduce memory consumption on a cpanel vps

Run command ‘free -m’ note value under ‘-/+ buffers/cache’ and find out how much memory your vps is currently using ? After that please proceed the following steps:

1) Stopping SpamAssassin:

This program isn’t overly important to the stopping of spam. To turn it off do the following:

Go to WHM » Server Configuration » Tweak Settings » Disable Spamd

And:

Go to WHM » Service Manager » Disable Spamd

2) Stopping Mailman:

If you or none of your customers aren’t running any mail listings through cPanel, it would be a good idea to disable Mailman.

Go to WHM » Server Configuration » Tweak Settings » Disable Mailman

3) Stop ClamAV:

Never use ClamAV on a VPS server.You can use maldet instead of ClamAV.You can disable ClamAV from:

Go to WHM » Home » cPanel » Manage Plugins » Uncheck clamavconnector and save

4) Never Use Tomcat on a VPS:

Never run TomCat on a VPS because of it’s high RAM needs.

5) Disable CatchAll :

If you receive incoming spam mail to a large extend then catchall setup will be reason.Try to catch-all from :

Go to WHM » Server Configuration » Tweak Settings » Change to :fail:

6) Tweak Apache:

Apache need to tweaked compulsory to reduce memory usage, do the following:

WHM » Home » Service Configuration » Apache Configuration » Global Configuration

Change the following settings:

MinSpareServers 2
MaxSpareServers 5
StartServers 3
Keep-Alive Off

Save the values and rebuild apache.

7) Optimize MySQL.

Please replace your existing my.cnf to the following:

[mysqld]
local-infile=0
max_allowed_packet = 1M
max_connections = 300
max_user_connections = 35
wait_timeout=40
connect_timeout=10
[mysqldump]
quick max_allowed_packet = 16M
8)InnoDB

InnoDB requires more RAM and it in not good for a VPS server. Better prefer MyISAM tables.So i suggest you to convert InnoDB tables to MyISAM.

9) Optimize PHP

Reduce PHP memory limit from php.ini.

10) Backup Type :

Never use compressed backup type.Instead of compress backup use incremental backup.You can configure it from WHM » Home » Backup » Backup Configuration

11) Disable Unwanted Services.
pcscd
portmap
netfs
nfslock
rpcidmapd
yum-updatesd
avahi-daemon
autofs
acpid
atd
gpm
haldaemon
hidd
irqbalance
auditd
xfs
bluetooth
anacron
pcmcia
sgi_fam
rhnsd
hald
hcid or sdpd
hpiod or hpssd.py
dbus-daemon
cupsd

All that should reduce your memory usage by a large amount.

Please reboot your VPS for one time.After server is up run ‘free -m’ command and feel the difference in memory usage.