原文地址:http://drupal.org/documentation/install/create-database 在运行安装脚本之前,您必须首先创建一个新数据库和数据库用户(一个拥有Drupal数据库操作权限的用户名)。本页面可以指引您通过基于浏览器的控制面板(比如“CPanel”或“Plesk”)来创建一个Drupal数据库,或者通过phpMyAdmin(另一个基于浏览器的应用),或者直接通过MySQL或PostgreSQL数据库的命令行创建数据库(高级用户可参考使用)。
通过基于浏览器的控制面板来创建数据库及用户
大多数的虚拟主机账户提供一个基于web的控制面板方便您进行站点管理。这些工具在创建数据库及操作该数据库的用户方面非常易用。通过查阅帮会文档或者咨询您的虚拟主机提供商,您可以使用基于浏览器的控制面板工具来创建数据库。 当您为您的数据库创建一个用户时,您将会看到一个为您的用户赋予操作数据库权限的页面。大多数情况下,该页面显示为"database wizard",如果您只是简单地为您的用户选择"All"权限(如果“Grant”权限也列出来了,确保它处于不选定状态),那么您的用户权限就已经得到正确设置了。 在您创建数据库时,留意您的用户名,密码,数据库名及主机名(比如,您是安装在http://example.com,或者http://drupal.example.com,又或者http://example.com/blog 等等。)您将在安装过程中输入这些条目(查看下一页)。注意:很多情况下,当您通过基于web的界面创建数据库及用户时,您登录控制面板工具所用的用户名会作为您数据库以及数据库用户名的前缀出现。例如,当您用“webadmin”这个名登录您的站点,同时创建一个名为“drupal7db”的数据库和名为“d7user”的用户名,在运行安装脚本时(查看下一页),键入的数据库名及数据库用户名可能需要为"webadmin_drupal7db"及"webadmin_d7user"。(这是因为很多托管服务账户是建立在共享服务器上的,而且一个服务器上的每个数据库和用户对于每一个账户都是唯一的。)如果您通过基于web的界面创建了数据库,您可以跳过此页的提醒而直接跳至下一页继续进行安装。
通过phpMyAdmin创建数据库及用户
这里假设您具有对phpMyAdmin的最高权限
- 以根用户身份登录phpMyAdmin。
- 单击Privileges 然后添加一个新用户。
- 在用户名字段里,输入您期望的用户名。
- 在Host字段里,选择Local ,因为它更安全一些,除非您想用这个用户名通过其他服务器来访问该数据库。
- 为该用户输入或者随机生成一个密码。
- 在数据库里的用户列表里,选择Create database with same name and grant all privileges(“用同样的名称创建数据库并赋予所有权限”)然后单击执行。
此时,您创建了一个只对与该用户同名的数据库的操作权限。这样比使用同一个服务器上所有站点通用的用户名及密码要安全的多,因为即便其他用户登录到数据库管理器,也不会对您的数据库有操作的权限。如果您期望数据库名与数据库用户名不同,您可以选择创建数据库,然后单击操作选项卡。您将会看到一个重命名数据库的选项。如果您需要更多有关PHPMyAdmin的操作细节,请查阅官方维基。 注意:在您创建数据库时,留意您的用户名,密码,数据库名及主机名(比如,您是安装在http://example.com,或者http://drupal.example.com,又或者http://example.com/blog 等等。)您将在安装过程中输入这些条目。 注意:很多情况下,当您通过基于web的界面创建数据库及用户时,您登录控制面板工具所用的用户名会作为您数据库以及数据库用户名的前缀出现。例如,当您用“webadmin”这个名登录您的站点,同时创建一个名为“drupal7db”的数据库和名为“d7user”的用户名,在运行安装脚本时(查看下一页),键入的数据库名及数据库用户名可能需要为"webadmin_drupal7db"及"webadmin_d7user"。(这是因为很多托管服务账户是建立在共享服务器上的,而且一个服务器上的每个数据库和用户对于每一个账户都是唯一的。)如果您通过phpMyAdmin创建了数据库,您可以跳过此页的提醒而直接跳至下一页继续进行安装。
通过命令行创建数据库
如果您未通过web控制面板方式创建数据库,或者您更熟悉并偏向于通过MySQL或PostgreSQL命令创建数据库,您可以按照下面的提示信息进行。 您可以在以下的两个文件里查阅到通过命令行工具创建数据库以及与数据库权限相关的其他信息,分别是INSTALL.mysql.txt (MySQL) 或INSTALL.pgsql.txt ( PostgreSQL)这两个文件。
通过MySQL命令创建数据库
安装和配置MySQL的有关信息请参考如下网页: http://dev.mysql.com/tech-resources/articles/mysql_intro.html 在下面的例子中,“username”是MySQL用户中具有CREATE and GRANT权限的用户示例,而“databasename”是您的系统中新创建的数据库的适当名称。
- 为您的站点新建一个数据库。
mysqladmin -u username -p create databasename MySQL为“用户名”提供数据库密码,同时创建数据库初始化文件。
- 登录并设置数据库访问权限:
mysql -u username -p MySQL为“username”提供数据库密码。
- 在MySQL里,通过如下命令设置权限:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON `databasename`.* TO 'username'@'localhost' IDENTIFIED BY 'password'; 在这种情况下:
- 'databasename'是您数据库的名称
- 'username@localhost' 是您MySQL账户的用户名
- 'password' 是您用户名对应的密码
如果您在名称里使用的是MySQL的转义字符,那么您的数据库名称两边需要加上`符号。例如:drupal_test_account.* 为了安全起见,应该是drupal\_test\_account.* ( 下划线是通配符)。这将需要` wrapper,`drupal\_test\_account`.* 注意:除非您的数据库用户拥有以上列出的所有权限,否则,您将不能运行Drupal。
- 如果成功,MySQL将会回复:
Query OK, 0 rows affected
- 输入如下命令来激活新的权限:
FLUSH PRIVILEGES; 数据库应该以UTF-8 (Unicode)格式进行创建。
- 键入如下命令退出MYSQL提示:
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通知。