• How to upgrade MySQL 5.5 to 5.6/5.7 on Linux

Warning: Direct upgrade of MySQL 5.1 to MySQL 5.6/5.7 will damage tables.

Note: Upgrade can be performed in a command line by using the instructions below at your own risk. This task is supposed to be performed by a system administrator.

First of all, connect to the server using SSH or run Terminal.

For Ubuntu 12.04 and 14.04, Debian 7:

Ubuntu 14.04 is shipped with MySQL 5.5 by default.

Create a full server backup and server snapshot.

Create a backup of /etc/mysql/my.cnf :

cp /etc/mysql/my.cnf{,_original}

Add the MySQL APT Repository:

Go to the download page for the MySQL APT repository at http://dev.mysql.com/downloads/repo/apt/ .

Select and download the release package for your platform:

wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb

Install the downloaded release package:

dpkg -i mysql-apt-config_0.6.0-1_all.deb

During the installation of the package, you will be asked to choose the versions of the MySQL server and other components that you want to install. If you are not sure which version to choose, do not change the default options selected for you. You can also choose none if you do not want a particular component to be installed. After making the choices for all components, choose Apply to finish the configuration and installation of the release package.

Update package information from the MySQL APT repository:

apt-get update

Upgrade MySQL:

apt-get install mysql-server

Agree when prompted to update /etc/mysql/my.cnf Make sure that mysql-community-libs-compat package is installed. Install if it is missing.

In Plesk go to Tools & Settings > Server Components and click Refresh

Upgrade MySQL databases:

MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin

More information available in MySQL documentation at http://dev.mysql.com/

For CentOS 6:

Stop MySQL service:

service mysqld stop

Back up MySQL databases:

mkdir /var/lib/mysqlcopy
cp -aR /var/lib/mysql/* /var/lib/mysqlcopy

Disable Atomic repository, if it is enabled:

vi /etc/yum.repos.d/atomic.repo
enabled = 0

Install MySQL-community repository:

yum install http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm

Select MySQL version:

vi /etc/yum.repos.d/mysql-community.repo
[mysql56-community]
enabled=0
[mysql57-community]
enabled=1

Install MySQL packages:

yum update mysql

If update of mysql package ends with Nothing to do message, make sure that mysql* packages are not added to excludes in yum.conf file and remove it if it is in the list:

cat /etc/yum.conf | grep exclude
exclude=php-common php-cli php mysql* httpd* mod_ssl*

Type y if this message appears:

warning: rpmts_HdrFromFdno: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Importing GPG key 0x5072E1F5:
Userid : MySQL Release Engineering <mysql-build@oss.oracle.com>
Package: mysql57-community-release-el6-7.noarch (@/mysql57-community-release-el6-7.noarch)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Is this ok [y/N]:

Start MySQL service:

service mysqld start

Upgrade MySQL databases:

MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin

For CentOS 7:

CentOS 7 basically shipped with MariaDB. MariaDB 10.x version is a drop-in replacement for MySQL 5.5-5.7.

Backup all databases with the following command:

mysqldump -uadmin -P3306 -p"`cat /etc/psa/.psa.shadow`"  --all-databases > /tmp/all-database.sql

Copy the databases directory in a separate folder like this (for backup purposes also):

cp -a /var/lib/mysql/ /var/lib/mysql.bak

Stop MariaDB service:

service mariadb stop

Add MariaDB repository:

vi /etc/yum.repos.d/MariaDB10.repo

# MariaDB 10.1 CentOS repository list - created 2016-01-18 09:58 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb10.2]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1

[mariadb10.1]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=0

Perform an upgrade with

yum install mariadb

Start MariaDB service:

service mysql start

Then execute this command to update package version inside Plesk:

plesk sbin packagemng -sdf

Note: After upgrade to 10.2 version, there may appear 'mysql' init script. We recommend removing it:

rm -f /etc/init.d/mysql
systemctl daemon-reload

For Debian 8

Debian 8 basically shipped with MariaDB. MariaDB 10.x version is a drop in replacement for MySQL 5.5/5.6/5.7

Please backup all existing databases using this KB article How to backup/restore a Plesk database dump? and follow instructions on MariaDB site to update it:

https://mariadb.com/kb/en/mariadb/installing-mariadb-deb-files/

Then execute this command to update package version inside Plesk:

plesk sbin packagemng -sdf


This article was last modified: June 13, 2017, 1:25 p.m.

0 Comments

Please log in to leave a comment.

Add or change tags.

A comma-separated list of tags.

Share

Hacker News

Top