Home > Database > Mysql Tutorial > body text

Step-by-step guide for how to install an SQL server on Ubuntu 04

WBOY
Release: 2024-07-17 01:20:20
Original
1013 people have browsed it

Step-by-step guide for how to install an SQL server on Ubuntu 22.04

Step-by-step guide for how to install an SQL server on Ubuntu 04

Installing the SQL server

Firstly update your desktop and install the SQL server

sudo apt-get update

sudo apt-get install mysql-server
Copy after login

Verify that the server is running with the following command

sudo systemctl start mysql.service

sudo systemctl status mysql.service
Copy after login

The result should look like this:

live MySQL server

Configure MySQL

You will need to set the password for the root account if you are running the installation on an Ubuntu machine because authentication is deactivated on Ubuntu by default. So as to avoid an error, you’ll need to configure the root account authentication method

sudo mysql
Copy after login
Copy after login

Change the password for root using ALTER USER:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Copy after login

Exit after making this change

mysql> exit
Copy after login
Copy after login

Secure your MySQL root user account

In securing your server, you will need to execute the following command to setup your password policy

sudo mysql_secure_installation
Copy after login

The password policy given will apply to subsequent users accounts created.

The next is to authenticate using the root user’s password:

mysql -u root -p
Copy after login
Copy after login

This command gives the root user access to the MySQL cli, and also to interact directly with the MySQL server.

Then go back to using the default authentication method using this command:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
Copy after login

This will allow you connect using the sudo mysql command again.

Creating default/new MySQL user and its privileges

It is bad OpSec to use the root account to perform regular day-to-day action on the database. The best option is to create a user account with limited privileges.

This is first done by logging in as root with the following command:

sudo mysql
Copy after login
Copy after login

Alternatively, if you have previously set a password for the root account use this instead:

mysql -u root -p
Copy after login
Copy after login

Next create a new user:

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
Copy after login

After entering the command, follow the prompt and fill in your username, hostname (localhost if you’re using Ubuntu).

For authentication, you have the options of using auth_socket plugin which provides string security without requiring a password but has a shortcoming of preventing remote connections,authentication_plugin plugin, caching_sha2_password which is the default MySQL plugin, but its shortfall is that some versions of PHP are not compatible with it or mysql_native_password plugin.

mysql> CREATE USER 'jack'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Copy after login

You can also alter an existing user using:

mysql> ALTER 'jack'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
Copy after login

Assigning privileges

After creating the user, you can assign it with privileges with the following syntax.

mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';
Copy after login

Using GRANT ALL PRIVILEGES instead will give the user superuser privileges similar to that of root. Such flag will otherwise defeat the purpose of creating a separate user account from root.

The PRIVILEGE variable represents what action a user is allowed to perform. Global privileges can also be granted by replacing database.table with *.

Below we will be granting user permissions to create, modify, delete, insert, select, update and delete data from a table by using CREATE, ALTER, DROP, INSERT, SELECT, UPDATE and DELETE respectively.

mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'jack'@'hostname' WITH GRANT OPTION;
Copy after login

The WITH GRANT OPTION flag allows the user to grant privileges it has to other users.

Next we will use the FLUSH PRIVILEGES command to empty the cache and free up memory:

mysql> FLUSH PRIVILEGES;
Copy after login

After you can exit the MySQL cli

mysql> exit
Copy after login
Copy after login

You can now log in back using your credentials

mysql -u jack -p
Copy after login

Testing the MySQL server

You can now verify that the MySQL server is running with the following command:

systemctl status mysql.service
Copy after login

Alternatively, you can connect to the MySQL database using the administrative command tool mysqladmin.

sudo mysqladmin -p -u jack version
Copy after login

The above is the detailed content of Step-by-step guide for how to install an SQL server on Ubuntu 04. For more information, please follow other related articles on the PHP Chinese website!

source:dev.to
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!