At some point, you’re going to need to connect to a MySQL 8 database remotely to manage your databases. Jack Wallen shows you how to make this possible.
Recently, I was tasked to add a MySQL database GUI for a client and came up against an issue where the database server wasn’t properly configured to accept remote connections. This can be a bit tricky to pull off, but it’s not impossible.
SEE: Take advantage of TechRepublic Premium’s back-end developer hiring kit.
I’m going to walk you through the process of configuring MySQL 8 to connect to it remotely as a user with access to all databases. Understand, this can be considered a security issue for some instances, so you want to make absolutely certain that not only is your LAN secure but you’re using very strong passwords for the MySQL users (which you should be doing anyway).
With that said, let’s get this configuration up and running.
To make this connection, you’ll need a running instance of MySQL and either a Linux machine to test the connection or any number of MySQL clients that allow for remote connection setup. You’ll also need a user on the MySQL server with sudo privileges.
That’s it. Let’s make some database magic.
The first thing we must do is configure MySQL for remote connections. To do this:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 127.0.0.1
bind-address = 0.0.0.0
sudo systemctl restart mysql
At this point, MySQL is open for remote connections, but you’ve yet to create a user for access.
Next, create a new MySQL user. We’re going to call this user root. Yes, there is already a root user, but that user is bound to localhost connections only.
sudo mysql -u root -p
CREATE USER 'root'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* to 'root'@'%';
FLUSH PRIVILEGES;exit
We can now test our connection.
If you have access to another Linux machine with MySQL installed, you can test the connection by running the command (on the second machine):
mysql -u root -h SERVER -p
where SERVER is the IP address or domain of the MySQL hosting server.
When prompted for the password, type the strong password you created for the new root user. You should be granted access to the MySQL console, where you can manage any of the databases on the system.
Once the system tests out fine, you can then connect to that database server with a GUI tool such as Beekeeper Studio.
With Beekeeper studio, create a new connection, select MySQL as the connection type, and fill out the following details (Figure A):
Figure A
Once you’ve filled out the details, click Test to make sure the connection works. After getting the OK, give the connection a name and click Save. Finally, click Connect, and the GUI should successfully connect to your remote database (Figure B).
Figure B
Congratulations, not only have you configured MySQL 8 for remote connections, you’ve created a user with access to all databases and connected to the remote server with both the command line and a GUI. Time to don your database admin hat and get to work.
Now that you’ve learned how to set up remote connections for MySQL 8, here’s how you can connect the MySQL database with LibreOffice, DBeaver and Grana.
Subscribe to TechRepublic’s How To Make Tech Work on YouTube for all the latest tech advice for business pros from Jack Wallen.