前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Debian 9上安装MariaDB

如何在Debian 9上安装MariaDB

原创
作者头像
苏子晨
修改2018-10-30 16:58:19
2.9K0
修改2018-10-30 16:58:19
举报

介绍

MariaDB是一个开源数据库管理系统,通常作为流行的LAMP(Linux,Apache,MySQL,PHP / Python / Perl)堆栈的一部分代替MySQL安装。它使用关系数据库和SQL(结构化查询语言)来管理其数据。由于许可问题,MariaDB于2009年从MySQL分支出来。

安装的简短版本很简单:更新软件包索引,安装mariadb-server软件包(指向MariaDB),然后运行包含的安全脚本。

代码语言:javascript
复制
sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation

本教程将介绍如何在Debian 9服务器上安装MariaDB 10.1版。

准备

要学习本教程,您需要:

第1步 - 安装MariaDB

在Debian 9上,默认情况下,MariaDB版本10.1包含在APT包存储库中。它被Debian MySQL / MariaDB打包团队标记为默认的MySQL变体。

要安装它,请使用apt命令更新服务器上的软件包索引:

代码语言:javascript
复制
sudo apt update

然后安装包:

代码语言:javascript
复制
sudo apt install mariadb-server

这将安装MariaDB,但不会提示您设置密码或进行任何其他配置更改。因为这会使您的MariaDB安装不安全,我们将在下一步解决此问题。

第2步 - 配置MariaDB

对于全新安装,您需要运行包含的安全脚本。这会更改远程root登录和示例用户等一些不太安全的默认选项。

运行安全脚本:

代码语言:javascript
复制
sudo mysql_secure_installation

这将引导您完成一系列提示,您可以在其中对MariaDB安装的安全选项进行一些更改。第一个提示将要求您输入当前的数据库root密码。由于我们尚未设置一个,请按ENTER以指示“无”。

下一个提示会询问您是否要设置数据库root密码。键入N然后按ENTER。在Debian中,MariaDB 的root帐户与自动系统维护密切相关,因此我们不应更改该帐户的已配置身份验证方法。这样做可以使程序包更新通过删除对管理帐户的访问来破坏数据库系统。稍后,我们将介绍如果套接字身份验证不适合您的用例,如何为密码访问设置其他管理帐户。

从那里,您可以按Y,然后ENTER接受所有后续问题的默认值。这将删除一些匿名用户和测试数据库,禁用远程root登录,并加载这些新规则,以便MariaDB立即尊重您所做的更改。

步骤3 - (可选)调整用户身份验证和权限

在运行MariaDB 10.1的Debian系统中, MariaDB用户设置为默认使用unix_socket插件进行身份验证,而不是使用密码。在许多情况下,这允许更高的安全性和可用性,但是当您需要允许外部程序(例如,phpMyAdmin)管理权限时,它也会使事情变得复杂。

由于服务器使用root帐户执行日志轮换以及启动和停止服务器等任务,因此最好不要更改root帐户的身份验证详细信息。更改/etc/mysql/debian.cnf中的帐户凭据最初可能有效,但程序包更新可能会覆盖这些更改。如果您需要设置基于密码的访问权限,软件包维护人员建议您创建一个单独的管理帐户,而不是修改root帐户。

为此,我们将创建一个root帐户具有相同功能的新帐户admin与,但配置为密码身份验证。为此,请从终端打开MariaDB提示符:

代码语言:javascript
复制
sudo mysql

现在,我们可以创建具有root权限和基于密码的访问权限的新用户。更改用户名和密码以符合您的偏好:

代码语言:javascript
复制
GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

刷新权限以确保它们在当前会话中保存并可用:

代码语言:javascript
复制
FLUSH PRIVILEGES;

在此之后,退出MariaDB shell:

代码语言:javascript
复制
exit

最后,让我们测试MariaDB安装。

第4步 - 测试MariaDB

从默认存储库安装时,MariaDB应自动开始运行。要测试它,请检查其状态。

代码语言:javascript
复制
sudo systemctl status mariadb

您将看到类似于以下内容的输出:

代码语言:javascript
复制
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2018-09-04 16:22:47 UTC; 2h 35min ago
  Process: 15596 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSIT
  Process: 15594 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 15478 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   
  Process: 15474 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITI
  Process: 15471 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysql
 Main PID: 15567 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 27 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           └─15567 /usr/sbin/mysqld
​
Sep 04 16:22:45 deb-mysql1 systemd[1]: Starting MariaDB database server...
Sep 04 16:22:46 deb-mysql1 mysqld[15567]: 2018-09-04 16:22:46 140183374869056 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as process 15567 ...
Sep 04 16:22:47 deb-mysql1 systemd[1]: Started MariaDB database server.

如果MariaDB没有运行,您可以用sudo systemctl start mariadb启动它。

有关其他检查,您可以尝试使用mysqladmin工具连接到数据库,该工具是一个允许您运行管理命令的客户端。例如,此命令表示以root身份连接到MariaDB 并使用Unix套接字返回版本:

代码语言:javascript
复制
sudo mysqladmin version

您应该看到与此类似的输出:

代码语言:javascript
复制
mysqladmin  Ver 9.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
​
Server version      10.1.26-MariaDB-0+deb9u1
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         2 hours 44 min 46 sec
​
Threads: 1  Questions: 36  Slow queries: 0  Opens: 21  Flush tables: 1  Open tables: 15  Queries per second avg: 0.003

如果您使用密码身份验证配置了单独的管理用户,则可以键入以下命令来执行相同的操作:

代码语言:javascript
复制
mysqladmin -u admin -p version

这意味着MariaDB已启动并正在运行,您的用户可以成功进行身份验证。

结论

您现在已在服务器上安装了基本的MariaDB设置。您也可以重新定位数据目录

想要了解更多关于安装MariaDB的相关教程,请前往腾讯云+社区学习更多知识。


参考文献:《How To Install MariaDB on Debian 9》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 准备
  • 第1步 - 安装MariaDB
  • 第2步 - 配置MariaDB
  • 步骤3 - (可选)调整用户身份验证和权限
  • 第4步 - 测试MariaDB
  • 结论
相关产品与服务
云数据库 MariaDB
腾讯云数据库 MariaDB(TencentDB for MariaDB) 让您轻松在云端部署、使用 MariaDB 数据库。MariaDB 是在 MySQL 版权被 Oracle 收购后,由 MySQL 创始人 Monty 创立,其版权授予了“MariaDB基金会(非营利性组织)”以保证 MariaDB 永远开源,良好的开源策略,是企业级应用的最优选择,主流开源社区系统/软件的数据库系统,均已默认配置 MariaDB。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档