I keep hearing good things about MySQL 5.6, so I decided to give it a try, even Ubuntu 12.04 LTS do not have launchpad repo for it. (atleast, as of July 10, 2013)
Download & Install MySQL 5.6 deb package from official site
You can get MySQL installers from https://dev.mysql.com/downloads/mysql/#downloads
I ran following command to get MySQL 5.6.14
wget -O mysql-5.6.deb http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14-debian6.0-x86_64.deb
Then install Mysql 5.6.x
dpkg -i mysql-5.6.deb
and install dependency
apt-get install libaio1
Backup MySQL 5.5 Data
You will need this only if you are upgrading…
cd ~
mkdir backup && cd backup
mysqldump -A --events > dump/alldb.sql
cp -pr /etc/mysql config
service mysql stop
cp -pr /var/lib/mysql/ data
At this point your mysql is stopped and you have mysql’s data directory and mysqldump output in ~/backup
directory. If all goes well you will not need backups!
Remove MySQL 5.5 Packages
apt-get remove mysql-common mysql-server-5.5 mysql-server-core-5.5 mysql-client-5.5 mysql-client-core-5.5
apt-get autoremove
Setup MySQL 5.6 Startup Script
cp /opt/mysql/server-5.6/support-files/mysql.server /etc/init.d/mysql.server
update-rc.d -f mysql remove
update-rc.d mysql.server defaults
Note: I am not sure why but renaming mysql 5.6’s startup script from mysql.server to mysql was throwing error.
Update Config & Environment settings
Update environment
MySQL 5.6 directory layout is different than Lauchpad packages.
vim /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/mysql/server-5.6/bin</strong>"
source /etc/environment
Confirm changes
Running… which mysql
Should show… /opt/mysql/server-5.6/bin/mysql
Update mysql config file
vim /etc/mysql/my.cnf
basedir = /opt/mysql/server-5.6
lc-messages-dir = /opt/mysql/server-5.6/share
You may also need to tweak few other settings.
For example:table_cache
has been renamed to table_open_cache
Start MySQL 5.6
Its time to start new mysql…
service mysql.server start
If you are facing any issue during startup, refer to mysql error log.
Final Step
If you are upgrading from mysql, run command mysql_upgrade
Otherwise if its a fresh install, run following:
/opt/mysql/server-5.6/scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql
That’s it! Enjoy MySQL 5.6.