30

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?

1
  • 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, 2017 at 16:11

3 Answers 3

75
+300

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

or

$ sudo mysql_upgrade -u root -p

And restart mysql

sudo service mysql restart
8
28

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

If above command did not work for you try below one.

mysqldump -u root -p --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/

8
  • 2
    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 Jul 14, 2017 at 10:22
  • 3
    @SnigdhaBatra , It is a known bug . Use command sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5 to solve your issue. Jul 15, 2017 at 21:55
  • I get that the key A4A9~ can't be retrieved, so nothing happens Aug 23, 2018 at 16:30
  • Which Ubuntu version are you using? Aug 23, 2018 at 16:31
  • 1
    Fwiw, in order to back up all databases I had to also specify a user to mysqldump (as per this answer). eg: mysqldump -u root -p --all-databases > alldb.sql
    – Nick F
    Jan 7, 2019 at 16:59
3

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,

Kailee.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .