By jefflamer
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Hi @jefflamer,
Updating both PHP and MySQL is easy enough. I’ll guide you through the process, however I strongly suggest before updating MySQL to backup your droplet.
PHP
In this case rather than updating, you’ll just install a higher PHP version on your droplet.
Here are the steps, if you are on an Ubuntu.
Update Packages
Make sure your Ubuntu server is having the latest packages by running the following command.
sudo apt update
sudo apt upgrade
Add a repository for PHP 7.3
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Apache
If you are using Apache as your Web Service, you’ll need to install PHP like this
sudo apt install php7.3
Nginx
If you are using Nginx however, you’ll need to perform the following
sudo apt install php7.3-fpm
Extensions
PHP with it’s extensions is useless so you’ll need to install them regardless which Web Service you are using. The next command will include the most common extensions
sudo apt install php7.3-common php7.3-mysql php7.3-xml php7.3-xmlrpc php7.3-curl php7.3-gd php7.3-imagick php7.3-cli php7.3-dev php7.3-imap php7.3-mbstring php7.3-opcache php7.3-soap php7.3-zip php7.3-intl -y
If you need to add another one, just type in
sudo apt install php7.3-nameofextension
And you are ready, you now have the latest PHP version on your droplet.
Now let’s continue with updating MySQL.
Since you have decided to update it, I’ll strongly suggest going directly to MariaDB. Luckily, the process is indeed easy enough. Let’s start
Backup The first and most important step is to backup your databases. You can do so by using the following command
mysqldump --all-databases --user=root --password --master-data > backupdb.sql
This will dump your database in a file called backupdb.sql in the directory you currently are.
Optionally you can create a backup of my.cnf file somewhere in your system as well
cp /etc/mysql/my.cnf /opt/my.cnf.bak
Remove MySQL
Like PHP, MySQL needs to be reinstalled to have a higher version.
service mysql stop
Now we can uninstall the MySql server, associated utilities amd MySql user.
apt-get remove mysql-server mysql-client mysql-common
deluser mysql
rm -rf /var/lib/mysql
MySQL has been removed from your droplet
Installation
Now, going to the fun part, adding the updated software, in this case MariaDB 10.3.
First you need to add MariaDB repository on your system in order to Install MariaDB.
apt-get install software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64] http://mirror.zol.co.zw/mariadb/repo/10.3/ubuntu bionic main'
Once this has been covered, just in case run an update on your droplet and then continue with the installation
apt update
apt -y install mariadb-server mariadb-client
cp /opt/my.cnf /etc/mysql/
Once this has been completed, just start your MariaDB service like so
service mysqld start
If this doesn’t work, try with
service mariadb start
Ready for work
Finally, we have to import the previously exported databases back to MariaDB server as follows.
mysql -u root -p < backupdb.sql
You are ready to go!
Regards, KDSys
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.