了解MySQL和MariaDB用户及权限(一)

MySQL及其分支MariaDB是功能强大的关系数据库引擎,用于运行世界各地的许多网站。它们的复杂性由于用户在其内部处理的似乎令人困惑的方式而变得更加复杂,这对于新用户来说可能很难理解,因此,本文Hostease美国服务器商主要将研究用户帐户,使其更易于大家理解。

简化用户和权限

当涉及到用户帐户时,MySQL和MariaDB用户由用户名和连接的主机组成。在数据库中引用用户是以用户名的格式,后跟符号(@)完成的,然后是从中连接的主机。例如,安装数据库时,将使用用户名根创建默认的主用户帐户。此用户只能从本地计算机访问数据库。然后将其引用为“‘root’@’localhost’。在Debian系统上。例如,默认安装有四个帐户:

* ‘root’@’localhost’

* ‘root’@’127.0.0.1’

* ‘root’@’::1′

* ‘root’@‘《system-hostname》’

显然,上一个版本中的“《system-hostname》”将替换为安装MySQL或MariaDB时提供的系统主机名。“localhost”引用本地计算机上的UNIX套接字连接,“127.0.0.1”引用使用IPv4环回地址的连接,“::1”表示使用IPv6环回地址的连接,最后,系统主机名将用于公共接口上的连接,其中主机名应解析为服务器的公共IP地址。这里需要注意的是,在数据库的眼里,这四个帐户都是不同的,这是因为尽管用户名都是一样的,但它们是从不同的来源连接的。更改‘root’@’localhost’的密码将更改该帐户的密码,但其他三个帐户的密码将保持不变。

创建用户

因此,考虑到这一点,在自己的数据库创建用户时,将需要考虑将从哪个服务器连接到数据库。通常当网站服务器和数据库在同一台独立服务器上,通常是创建用户@’localhost’。如果数据库与网站服务器位于不同的独立服务器上,那么用户必须是@’the-web-servers-ip’。或者,如果想创建一个可以从任意位置连接的单一用户,那么可以使用@’%’,这是一个通配符,可以匹配任何内容。但是值得注意的是,这是一个巨大的安全漏洞,它将依赖于使用防火墙来充分保护数据库。用户帐户的主机部分是可选的,如果未指定,则默认选项是使用‘%’。

要管理数据库用户,首先需要登录到数据库,可以使用以下命令完成此操作:

mysql -u root -p

这将提示输入根用户的密码,并留下与下面类似的提示:

mysql》

现在可以在数据库上运行命令,在数据库上创建一个用户,这是通过以下命令完成的:

CREATE USER ’user‘@’localhost‘ IDENTIFIED BY ’password‘;

对于用户帐户的“user”和“localhost”部分,可以将“password”设置希望用户登录的密码。如果想让密码自动过期,可以按如下步骤完成:

CREATE USER ’user‘@’localhost‘ IDENTIFIED BY ’password‘ PASSWORD EXPIRE INTERVAL 90 DAY;

这将导致用户的密码每九十天过期一次,并要求他们设置一个新的密码。请注意:如果在一个网络应用程序中使用这个帐号时,要小心,因为如果忘记更新密码,用户会抱怨网站在无法访问数据库时无法正常工作。最后,当不再需要帐户时,可以使用DROP命令删除用户:

DROP USER ’user‘@’localhost‘;

以上涵盖了用户需要知道的大部分信息。下一次的内容Hostease美国服务器商将介绍权限是如何工作的,以及如何为用户设置这些权限。另外推荐关于数据库相关的内容 应该怎样确定虚拟主机空间数据库大小