How to Install MySQL 8.0 on Kali Linux

In this article, We are going to demonstrate How to install MySQL 8.0 on Kali Linux using command line

Introduction

MySQL is open-source relational database management server and mostly used in web-base technology and is owned by Oracle.

Prerequisites

  • Kali Linux System
  • SSH access with sudo privileges
  • Firewall Port: 3306

New Features in MySQL 8.0

  • Transnational Data Dictionary
  • Atomic Data Definition Statement Support
  • Enhanced Security and account management.
  • Persistent runtime configuration
  • Table encryption management
  • MySQL’s JSON functionality Enhancements
  • Support different types of indexes and Query Optimization
  • Supports windows functions
  • Handling client connections on multiple network interfaces

If you want to know detailed features of MySQL 8.0 , go through this link.

Step 1: Download and Install MySQL 8 APT Repository

Below are commands to add/download MySQL APT repository using command line,

sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb

Then, below command is to install above downloaded apt repository,

sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb

when we run above command like below prompt will open, click on Ok.

select mysql 8 version

Step 2: How to Install MySQL 8.0 on Kali Linux

Update the System packages

sudo apt-get update

Install MySQL 8.0 Server.

sudo apt-get install mysql-server

Next, you’ll we prompted to enter MySQL root password to access database.

How to Install MySQL 8.0 on Kali Linux 1
How to Install MySQL 8.0 on Kali Linux 2

After entering password , it’s asks for password encryption feature and it is recommended, but here i am selecting Use Legecy Authentication Method.

mysql5.7-password-plugin

Step 3: Secure MySQL Installation

MySQL Server comes with a script mysql_secure_installation this can do multiple security related operations,

Run the below script on command prompt. you’ll first be need to enter the root password which you created during MySQL setup.

You will be asked to opt VALIDATE PASSWORD PLUGIN or not. This enables we to test MySQL Passwords and improve security.

Next, you have to enter yes or No to below security features,

  • Change the password for root ? ((Press Y|Y for Yes, any other key for No)
  • Remove anonymous users? (Press Y|Y for Yes, any other key for No)
  • Disallow root login remotely? (Press Y|Y for Yes, any other key for No)
  • Remove test database and access to it? (Press Y|Y for Yes, any other key for No)
  • Reload privilege tables now? (Press Y|Y for Yes, any other key for No)
 $ mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No: No

Change the password for root ? ((Press y|Y for Yes, any other key for No) : No

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
 
Remove test database and access to it? (Press y|Y for Yes, any other key for No)  : y
 
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

 Success.
 All done!

We have covered How to Install MySQL 8 on Kali Linux.

Step 4: Login to MySQL Database

Use below command to login MySQL database

mysql -u root -p

here , -u flags specifies User Name and -p flags specifies Password.

After entering password , We can see below welcome message,

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 90
Server version: 8.0.19 MySQL Community Server - GPL

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Step 5: Create MySQL Remote User

First, Login to MySQL Server with root user using command line, Login to MySQL using username root and password

mysql -u root -p

Below is command is to create user , here i am creating user “fosstechnix“.

mysql> CREATE USER 'fosstechnix'@'%' IDENTIFIED BY '[email protected]';

Next, assign the privileges to database with below command , here i am assigning all databases privileges to user fosstechnix, If you want to assign privileges to specific database replace ” .” with database name.

mysql> GRANT ALL PRIVILEGES ON * . * TO 'fosstechnix'@'%';

OR If you want to allow “fosstechnix” user  to give privileges to other user.

 mysql> GRANT ALL PRIVILEGES ON *.* TO 'fosstechnix'@'%' WITH GRANT OPTION;

To take effect reload the privileges using below command,

mysql> FLUSH PRIVILEGES;

Step 6: Enable MySQL Remote Access

By default, In MySQL database server remote access is disabled for security reason. To enable remote connections of MySQL Server, we have to change bind-address in MySQL configuration file. Open the /etc/mysql/mysql.conf.d/mysqld.cnf file

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

Below the [mysqld] section find the Line,

[mysqld]
bind-address  = 127.0.0.1

And replace it to

 bind-address = 0.0.0.0

Restart the MySQL Server to take effect.

 sudo systemctl restart mysql.service

To Enable MySQL 8 on System startup.

sudo systemctl enable mysql.service

Step 7: Start,Stop,Restart and Status of MySQL Service

To start MySQL Service

sudo systemctl start mysql.service

To stop MySQL Service

sudo systemctl stop mysql.service

To restart of MySQL Service

sudo systemctl restart mysql.service

To check status of MySQL Service

sudo systemctl status mysql.service

Conclusion

We have covered, How to Install MySQL 8.0 on Kali Linux, Securing MySQL , creating MySQL user, Enable MySQL Remote access and MySQL 8.0 management commands.

Related Articles:

How to Install MySQL 5.7 on Ubuntu 20.04 LTS

How to Install MySQL 5.7 on Ubuntu 18.04 LTS

How to Install MySQL 5.7 on Ubuntu 16.04

How to Install MySQL 8 on CentOS 8

How to Install MariaDB on Ubuntu 18.04/16.04 LTS

Reference

MySQL 8 Official Documentation

Govind Hivrale

I am Govind Hivrale pursuing B.Tech Final Year, Likes to explore open source Tools and share knowledge.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Share via
Copy link
Powered by Social Snap