如果您在测试站点上安装Drupal,则可以跳过此步骤。运行安装脚本(下一步)时,只需提供具有创建新数据库权限的数据库用户的用户名和密码。
如果要在公共Web服务器上安装Drupal,则应首先创建数据库,并授予权限较低的用户访问权限。您在安装期间指定的数据库用户是在每次加载页面时将连接到数据库的用户。
此页面提供了使用以下方法之一创建Drupal数据库的方向:
- 基于Web浏览器的控制面板(例如“CPanel”或“Plesk”)
- phpMyAdmin的
- 使用SQL命令(使用命令行)
选择MySQL / MariaDB数据库名称中的字符
- 如果在数据库名称中使用大写字母,则它们将转换为小写。
- 允许的字符是a..z,0..9和“_”(下划线)。
通过基于浏览器的控制面板创建数据库和用户
大多数Web托管帐户都提供基于Web的控制面板来帮助您管理站点。这些工具包括易于使用的功能,用于创建新数据库,以及创建具有数据库权限的“用户”。要使用基于浏览器的控制面板创建数据库,请查阅文档或咨询您的Web主机服务提供商。
为数据库创建用户时,您可能会看到一个页面,您可以在其中指定用户对数据库上的各种操作所具有的权限。在大多数Web控制面板的“数据库向导”中,如果您只是为您创建的用户选中“全部”权限(如果它被列为特权,则取消选中“授予”),您的用户将被正确设置。
记下用户名,密码,数据库名称和主机名。(例如,你安装的,或者,还是等?)当你创建数据库。运行安装脚本时,您将在浏览器的字段中输入这些项目http://example.com
http://drupal.example.com
http://example.com/blog
请注意,在许多情况下,通过基于Web的界面创建数据库和用户时,用于登录控制面板的用户名将作为数据库名称的前缀添加,也可能添加到数据库用户名中。例如,如果您以“webadmin”身份登录站点的控制面板并创建名为“drupal8db”的数据库和名为“d8user”的该数据库的用户,则在运行安装脚本(下一步)时,数据库和用户可能需要输入“webadmin_drupal8db”和“webadmin_d8user”。这是因为许多主机帐户位于共享服务器上,并且在一台服务器上,每个数据库和用户名在服务器上的所有帐户中必须是唯一的。
使用创建数据库和用户 phpMyAdmin
创建数据库时使用的最安全的方法phpMyAdmin
是创建一个具有新数据库所有权限但没有其他数据库权限的用户。这比使用同一服务器上所有站点的通用用户名和密码更安全,因为如果有人抓住您的数据库登录,它会限制对数据库的访问。
注意:此过程假定您具有root访问权限phpMyAdmin
,并且您使用的是phpMyAdmin
3.5.x.
- 以
phpMyAdmin
root用户身份登录。 - 单击“ 用户”,然后单击“ 添加用户”。
注意:您也可以使用root用户凭据。 - 在“ 用户名”字段中,输入要使用的用户名。
- 在“ 主机”字段中,选择“ 本地”,这是一种更安全的设置,除非您将从另一台服务器访问此用户的数据库。
- 输入或生成用户的密码。
- 在“ 用户数据库”部分中,选择“ 使用相同名称创建数据库”并授予所有权限。
- 确保选择COLLATION
utf8mb4_unicode_ci
或utf8mb4_general_ci
- 注意:两个排序规则之间的差异与字符比较和排序有关。utf8mb4_general_ci略快,但utf8mb4_unicode_ci对于更广泛的字符更准确。如果您不确定使用utf8mb4_unicode_ci。
- 单击“ 转到”以创建用户。
phpMyAdmin
创建与用户帐户同名的新数据库。如果要为数据库和用户指定其他名称:
- 单击“ 数据库”,然后单击要重命名的数据库的链接。
- 点击操作。
- 在“ 重命名数据库到”部分中,输入新数据库名称。
- 单击“ 重命名数据库到”部分中的“ 转到 ” 。
如果您需要有关使用的更多详细信息phpMyAdmin
,请查看官方维基。
记下用户名,密码,数据库名称和主机名。(例如,您在创建数据库时是安装在,还是在?或?)。运行安装脚本时,您将在浏览器的字段中输入这些项目。http://example.com
http://drupal.example.com
http://example.com/blog
在许多情况下,使用Web界面创建数据库和用户时,用于登录控制面板的用户名将作为数据库名称的前缀添加,也可能添加到数据库用户名中。例如,如果您以“webadmin”的身份登录站点的控制面板并创建名为“drupal8db”的数据库和名为“d8user”的该数据库的用户,则在运行安装脚本时,可能需要输入数据库和用户作为“webadmin_drupal8db”和“webadmin_d8user”。这是因为许多主机帐户位于共享服务器上,并且在一台服务器上,每个数据库和用户名在服务器上的所有帐户中必须是唯一的。
从命令行创建数据库
如果您不使用Web控制面板或者不熟悉并使用MySQL,MariaDB或PostgreSQL命令,则可以使用以下部分中的信息。
有关权限的更多信息以及使用命令行创建数据库的说明,请参见MySQL / MariaDB 文件和PostgreSQL文件。INSTALL.mysql.txt
INSTALL.pgsql.txt
使用MySQL / MariaDB命令创建数据库
注意:应使用UTF-8(Unicode)编码(utf8mb4)和utf8mb4_unicode_ci或utf8mb4_general_ci排序规则创建数据库。两个排序规则之间的差异与字符比较和排序有关。utf8mb4_general_ci略快,但utf8mb4_unicode_ci对于更广泛的字符更准确。如果您不确定使用utf8mb4_unicode_ci。
有关安装和配置MySQL的信息,请参阅http://dev.mysql.com/doc/refman/5.7/en/index.html。
有关安装和配置MariaDB的信息,请参阅https://mariadb.com/kb/en/。
在以下示例中,“username”是具有CREATE
和GRANT
特权的MySQL / MariaDB用户示例,“databasename”是新数据库的名称。使用适合您系统的名称。
-
为您的站点创建一个新数据库。(改变
username
和databasename
。)mysql -u username -p -e "CREATE DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci";
MySQL / MariaDB提示输入“用户名”数据库密码,并创建初始数据库文件。
-
登录并设置访问数据库权限:
mysql -u username -p
MySQL / MariaDB提示输入“用户名”数据库密码。
-
在MySQL / MariaDB提示符下,创建用户并使用以下命令设置权限(这将创建用户和授予权限):
CREATE USER username@localhost IDENTIFIED BY 'password';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password';
在这种情况下:
`
如果在数据库名称中使用了MySQL或MariaDB转义字符(_
或%
),请确保在数据库名称周围使用反引号()。此外,如果要将_
字符用作数据库名称的一部分,还应在GRANT语句中指定它。\_
例如,因为下划线字符是通配符,所以应该是为了安全。否则下划线将匹配任何字符,并可能意外地访问其他类似命名的数据库。
drupal_test_account.*
`drupal\_test\_account`.*
注意1:除非您的Drupal安装的数据库用户/主机组合具有上面列出的所有权限(除了可能的CREATE TEMPORARY TABLES,目前仅由Drupal核心自动化测试和一些贡献模块使用),否则您将无法安装或运行Drupal。
注意2: 如果需要恢复使用Drush创建的转储,则需要添加和权限,除非它不起作用。
LOCK TABLES
UNLOCK TABLES
有关GRANT语句的更多信息,请参阅http://dev.mysql.com/doc/refman/5.0/en/grant.html。
- 'databasename'是数据库的名称
- 'username'是您的MySQL或MariaDB用户帐户的用户名
- 'localhost'是安装Drupal的主机
- 'password'是该用户名所需的密码
-
如果成功,MySQL / MariaDB将回复:
Query OK, 0 rows affected
-
通过添加以下mysql终端来刷新权限以确保用户具有活动权限:
FLUSH PRIVILEGES;
- 现在输入以下命令退出MYSQL / MariaDB提示:
-
exit
服务器将回答说
Bye
使用PostgreSQL创建数据库
必须使用UTF-8(Unicode)编码创建数据库。
-
创建数据库用户
只有在您还没有用户设置(例如,您的主机)或者您想要创建仅与Drupal一起使用的新用户时,才需要执行此步骤。以下命令创建名为“username”的新用户(您应将其替换为所需的用户名),并提示输入该用户的密码:createuser --pwprompt --encrypted --no-adduser --no-createdb username
如果一切正常,您会看到通知。
CREATE USER
-
创建数据库
只有在您还没有数据库设置(例如,您的主机)或者您想要创建仅用于Drupal的新数据库时,才需要执行此步骤。以下命令创建一个名为“databasename”的新数据库(您应将其替换为所需的数据库名称),该数据库由以前创建的“username”拥有:
createdb --encoding=UNICODE --owner=username databasename
如果一切正常,您会看到通知。
CREATE DATABASE
评论