您应该选择启用 Enable TCP/IP Networking 选项,默认端口 3306 就可以了。您还应该接受 Standard Character Set,除非您有充分的理由使用 UTF8(我的应用程序中不使用其他语言,但是如果您的应用程序中使用其他语言,请选择 UTF8)。
下一个屏幕有一些重要的选项。首先,将 MySQL 安装为 Windows 服务,并确保选中了 Launch the MySQL Server automatically 选项。这将确保当机器重启时,MySQL 也会启动;Apache 已经进行了相同的设置,因此这么做是合理的。另外,选中 Include Bin Directory 选项;这确保您能够运行 MySQL 工具,而无需浪费时间来手动处理 PATH。
下一步是设置根密码;请选择一个密码。我强烈建议您不要 创建匿名帐户。这不是个好主意,既然这样,在开发环境中最好不要设置匿名帐户。
最后,选择 Execute 来使对数据库进行的所有这些设置生效。此处理完成之后,可以选择 Finish 退出实例配置。现在,数据库已经准备好可以使用了。
创建一个新数据库
现在,需要在 MySQL 安装上创建一个新数据库。因为已经在 PATH 中设置了 MySQL 脚本,所以这很容易。打开一个命令提示符窗口(选择 Start > Run 并在 Run 对话框中输入 cmd),然后输入以下命令:
mysqladmin -u root -p create DB-DEVEL
输入您选择的密码,并单击 Enter。除非出现问题,否则不会从 MySQL 获得任何反馈(这有点令人困扰)。在您继续检查之前,先来了解一下您刚才所进行的操作。
mysqladmin 是 MySQL 的管理工具。它位于 MySQL 的 bin/ 目录中,此目录已被配置向导添加到系统的 PATH 中,因此可以直接访问此程序(就像我们在本文中所做的一样)。
-u root 告诉 MySQL 作为根用户登录,您之前应该已经为根用户设置了密码。如果不使用此选项,MySQL 会尝试作为 ODBC@localhost 用户登录;而这是没有用的,因为此用户并不存在!
-p 指示 MySQL 提示您输入密码。您可以在命令行中输入密码,但是此密码不是隐藏的 (******),这不是一个好做法。您应该尽量为所有的 MySQL 交互使用 -p 标记。
create DB-DEVEL 告诉命令应该进行的操作;在本例中,它指示 MySQL 创建一个名为 DB-DEVEL 的新数据库。我个人给我的数据库名称加上 "DB" 作为前缀,用来提醒我这是一个数据库,而 DEVEL 指的是开发 (development);如果您愿意,可以使用其他数据库名称。
因为 MySQL 不会提供太多的反馈,所以应该确保此命令确实有效。要启动 MySQL 监视器,请在命令行中输入 mysql -u root -p。输入根密码后,将看到类似以下的内容:
C:\>mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 4.1.11-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
您将在这里进行大多数数据库操作 —— 从创建表到输入数据。要确保您刚才创建的数据库确实 被创建了,请输入 use DB-DEVEL。 use 告诉 MySQL 切换到指定的数据库。如果一切正常,您将看到以下输出:
C:\>mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 4.1.11-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use DB-DEVEL
Database changed
mysql>
如果此数据库不存在,您会看到以下错误信息:ERROR 1049 (42000): Unknown database 'DB-DEVEL'。请返回到之前的操作步骤并再次尝试,直到您创建了数据库为止。然后重新回到本步骤,继续进行。一旦您验证了数据库确实存在,就可以输入 exit 来离开 MySQL 监视器。
添加表
创建了数据库之后,就可以向其中添加几个简单的表和数据,以便在 PHP 测试中使用。创建一个新的文本文件,并将其命名为 create-sample-tables.sql。此文件的内容应该类似以下内容:
CREATE TABLE users (
user_id INT NOT NULL,
username TEXT(8) NOT NULL,
firstname TEXT(35) NOT NULL,
lastname TEXT(50) NOT NULL,
PRIMARY KEY (user_id)
);
CREATE TABLE user_websites (
website_id INT NOT NULL,
user_id INT NOT NULL,
website_url TEXT NOT NULL,
PRIMARY KEY (website_id)
);
这会创建一个名为 users 的表和一个名为 user_websites 的表。其余部分的含义是显而易见的。您现在可通过如下方式将此文件馈送到 MySQL:
C:\>mysql -u root -p DB-DEVEL < create-sample-tables.sql
Enter password: ********
此命令的前一部分应该是您所熟悉的内容。我将 DB-DEVEL 添加到末尾,这会告诉 MySQL 启动并连接到指定的数据库(一个登录的快捷方式,然后输入 use DB-DEVEL;)。然后,< 符号告诉 MySQL 接受您刚才创建的 SQL 文件作为输入。不幸的是,MySQL 仍然不会提供任何反馈(除非有错误发生)。在任何情况下,您都可将沉默视作通过。