Installing MySQL
In this section, we'll learn how to install MySQL on our development machine. The instructions for installing MySQL on your computer depend on your operating system, but here, we'll focus on the instructions for Ubuntu.
MySQL is a popular database management system that is also useful for local development since it is simple to install and configure.
The installation process is straightforward; simply update your system's package index, install the mysql-server
package, and then execute the accompanying security script.
MySQL is probably already installed on your development machine. If that's the case, you may skip this step.
Important Note
The steps below are exclusively for setting up MySQL on your local machine for development purposes. In production, you must follow the appropriate guides, especially when it comes to securing your database from attacks. You can easily achieve this with cloud services, which provide a managed database that you don't have to manage or secure yourself.
Now, let's get started by running the instructions to install MySQL Server. Open a new command-line interface and run the following commands:
sudo apt-get update sudo apt-get upgrade -y
These instructions will update your system's package index to the most recent version.
Then, to install MySQL Server, use the following command:
sudo apt-get install mysql-server
Now that we've installed MySQL Server, let's learn how to configure it.
Configuring MySQL Server
After installing MySQL Server, you must execute a security script. Return to the command-line interface and execute the following command:
sudo mysql_secure_installation
You'll be prompted for your root user password; enter it and press Enter.
Next, you'll be presented with a bunch of questions. The first question will be Would you like to set up VALIDATE PASSWORD plugin?
This is used to validate passwords and increase security. It evaluates the strength of the password and helps users to create passwords that are sufficiently safe. Because we're on a development machine, this isn't critical, therefore answer with N for no. The following question will ask you to create a password for the MySQL root user. Enter a password of your choice and confirm it.
To select the default answers for the following questions, just type Y and then press Enter:
Remove anonymous users?
Disallow root login remotely?
Remove test database and access to it?
Reload privilege tables now?
This will remove some anonymous users as well as a test database and access to it, disable remote root login, and load the privilege tables to guarantee that all previous modifications take effect instantly.
That's all there is to it — you're done! You have successfully installed MySQL Server on your local development machine, which is running Ubuntu. Following that, you'll learn how to verify whether MySQL is running and how to start it if it isn't.
Testing MySQL Server
MySQL should have started automatically after installation. Return to the command-line interface and execute the following command:
systemctl status mysql.service
If it's up and running, you'll see something like this:
mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en Active: active (running) since Tue 2020-12-08 17:15:40 +01; 48min ago Main PID: 20416 (mysqld) Tasks: 29 CGroup: /system.slice/mysql.service └─20416 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pi
If MySQL Server is not running, use the following command to start it:
sudo systemctl start mysql
After we've installed MySQL and verified that it's up and running, we'll learn how to install Node.js, which will be required by both our frontend and backend apps.