I searched a tutorial for dummies, about how to Update my MySQL 5.5 Server to MySQL 5.7 I'm Using ubuntu 14.04. I've already tried the tutorials on the MySQL Website. How can I upgrade my server?

  • MySQL docs says: "Upgrading more than one release level is supported, but only if you upgrade one release level at a time. For example, upgrade from 5.1 to 5.5, and then to 5.6. Follow the upgrade instructions for each release, in succession." so you should doing update in two steps 5.5 -> 5.6 -> 5.7 – iterq Apr 24 '17 at 16:11
up vote 61 down vote accepted

This worked for me:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
sudo gdebi mysql-apt-config_0.8.10-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server

The 2nd command will ask for input:

enter image description here

After picking 5.7 choose "apply"

$ mysql --version
mysql  Ver 14.14 Distrib 5.7.8-rc, for Linux (x86_64) using  EditLine wrapper

Don' forget to run mysql_upgrade after installation to upgrade system tables and restart server, following MySQL Upgrading guide.

$ mysql_upgrade


$ sudo mysql_upgrade -u root -p

And restart mysql

sudo service mysql restart

You can see my comment that the solution by @Rinzwind did not worked in my case (Ubuntu 14.04 , Mysql 5.5). So i have googled the solution and found the answer which worked for me at Digital Ocean Tutorial.

First of all , Backup All your Database.

mysqldump --all-databases > all_databases.sql

I am pasting the particular portion of tutorial that worked for me .

If you want to install MySQL 5.7, you'll need to add the newer APT package repository from the MySQL APT repository page. Click Download on the bottom right, then copy the link on the next page from No thanks, just start my download. Download the .deb package to your server.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb

Next, install it using dpkg.

sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb

You'll see a prompt that asks you which MySQL product you want to configure. The MySQL Server option, which is highlighted, should say mysql-5.7. If it doesn't, press ENTER, then scroll down to mysql-5.7 using the arrow keys, and press ENTER again.

Once the option says mysql-5.7, scroll down on the main menu to Apply and press ENTER again. Now, update your package index.

sudo apt-get update

Finally, install the MySQL-server package, which now contains MySQL 5.7.

sudo apt-get install mysql-server

Now upgrade all mysql databases .

sudo mysql_upgrade -u root -p

Now restart mysql server .

sudo service mysql restart

Always find the latest version of mysql-at-config file at https://dev.mysql.com/downloads/repo/apt/

  • 1
    I'm getting the following error during mysql-server installation :W: GPG error: repo.mysql.com trusty InRelease: The following signatures were invalid: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 – Snigdha Batra Jul 14 '17 at 10:22
  • 1
    @SnigdhaBatra , It is a known bug . Use command sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5 to solve your issue. – t9toqwerty Jul 15 '17 at 21:55

this can also happen when upgrading from 14.04 to 16.04, which causes an unsupported mysql upgrade (5.5 -> 5.7), which is not a supported upgrade path as documented by mysql. The easiest way around this is to upgrade mysql to 5.6 whilst still under 14.04. You achieve this by first (of course!) dumping all your databases;

hostname # mysqldump --lock-all-tables -u root -p --all-databases > backup.sql

then upgrading to mysql 5.6;

hostname # apt-get install mysql-server-5.6 mysql-client-5.6 mysql-server-core-5.6 mysql-client-core-5.6

This way, all your databases are upgraded in place and (on my machines so far) entirely safely and transparently to 5.6. The only issue after the upgrade may be TIMESTAMP entries. Now, even after an do-release-upgrade to 16.04, mysql is still left at 5.6 and the issues surrounding the non-supported upgrade from 5.5 directly to 5.7 during the release upgrade never even surface.

Hope this helps,


Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.