如何在Kali Linux上安装MariaDB 10.4

时间:2020-02-23 14:40:56  来源:igfitidea点击:

在今天的教程中,很好地讨论了如何在Kali Linux(2017.x)版本上安装MariaDB 10.4. MariaDB是MySQL的直接替代品,具有更多功能,新的存储引擎和更好的性能。我们可以从项目上获取MariaDB 10.4功能的所有详细信息。

在撰写本文时,MariaDB 10.4是可在Linux和某些BSD系统上安装的MariaDB数据库管理系统的最新稳定版本。在Kali Linux上安装MariaDB之前,我们将添加官方的MariaDB apt存储库,然后从中安装所有依赖项和实际的MariaDB软件包。

更新系统

确保我们的系统已更新。

sudo apt update

如果可以更新所有已安装的软件包,则可以运行upgrade命令,然后重新引导系统。

sudo apt upgrade
sudo reboot

将MariaDB APT存储库添加到Kali Linux

好用Debian 10(Buster)的MariaDB apt存储库。确保安装以下软件依赖项。

sudo apt -y install software-properties-common gnupg2

然后将MariaDB APT存储库添加到Kali Linux。

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
echo "deb [arch=amd64] http://mariadb.mirror.liquidtelecom.com/repo/10.4/debian buster main" | sudo tee /etc/apt/sources.list.d/mariadb.list

然后在Kali Linux上实际安装MariaDB之前更新APT索引。

$sudo apt update
Get:1 http://mariadb.mirror.liquidtelecom.com/repo/10.4/debian buster InRelease [3,154 B]
Get:2 http://mariadb.mirror.liquidtelecom.com/repo/10.4/debian buster/main amd64 Packages [28.0 kB]
Hit:3 http://kali.download/kali kali-rolling InRelease   
Fetched 31.1 kB in 1s (29.4 kB/s)
Reading package lists... Done
Building dependency tree       
Reading state information... Done
839 packages can be upgraded. Run 'apt list --upgradable' to see them.

在Kali Linux上安装MariaDB 10.4

添加存储库后,我们可以使用apt软件包管理器在Kali Linux上安装MariaDB 10.4服务器和客户端软件包。

sudo apt update
sudo apt install mariadb-server mariadb-client

如果我们安装了mysql-common软件包,则可能必须将其删除。

sudo apt remove mysql-common

当提示我们开始安装时,请按键盘上的y键。

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  libconfig-inifiles-perl
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  galera-4 mariadb-client-10.4 mariadb-client-core-10.4 mariadb-common mariadb-server-10.4 mariadb-server-core-10.4
Suggested packages:
  mailx mariadb-test netcat-openbsd tinyca
The following packages will be REMOVED:
  default-mysql-server galera-3 mariadb-client-10.3 mariadb-client-core-10.3 mariadb-server-10.3 mariadb-server-core-10.3
The following NEW packages will be installed:
  galera-4 mariadb-client mariadb-client-10.4 mariadb-client-core-10.4 mariadb-server mariadb-server-10.4 mariadb-server-core-10.4
The following packages will be upgraded:
  mariadb-common
1 upgraded, 7 newly installed, 6 to remove and 838 not upgraded.
Need to get 25.0 MB of archives.
After this operation, 47.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

安装后启动并启用mariadb服务。

sudo systemctl enable --now mariadb

确认服务已启动。


保护MariaDB服务器

现在,运行安全脚本来设置root密码,删除测试数据库并禁用远程root用户登录。

$sudo mysql_secure_installation 

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
 ... Success!

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

现在,我们需要提供用户名和密码才能访问MySQL控制台。没有身份验证,我们将获得拒绝访问错误。

$mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

使用-p选项进行身份验证。

$mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 59
Server version: 10.4.12-MariaDB-1:10.4.12+maria~buster-log mariadb.org binary distribution

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> SELECT VERSION();
 +--------------------------------------------+
 | VERSION()                                  |
 +--------------------------------------------+
 | 10.4.12-MariaDB-1:10.4.12+maria~buster-log |
 +--------------------------------------------+
 1 row in set (0.000 sec)