当创建一个 innodb 数据库时最好以命令行方式来运行 mysql 服务 mysqld ,而不是从 safe_mysqld 或 windows 服务。当从命令行方式运行服务时可以看到建立过程。
现在运行 mysql 服务,innodb 将建立数据文件和日志文件。innodb 将显示下列所示的信息:
[email protected]:~/mysql-3.23.48/sql> mysqld 020204 23:17:12 innodb: the first specified data file /dr2/tmp/heikki/data/ibdata1 did not exist: innodb: a new database to be created! innodb: setting file /dr2/tmp/heikki/data/ibdata1 size to 20 mb innodb: database physically writes the file full: wait... 020204 23:17:16 innodb: data file /dr2/tmp/heikki/data/ibdata2 did not exist: new to be created innodb: setting file /dr2/tmp/heikki/data/ibdata2 size to 200 mb innodb: database physically writes the file full: wait... 020204 23:17:41 innodb: data file /dr2/tmp/heikki/data/ibdata3 did not exist: new to be created innodb: setting file /dr2/tmp/heikki/data/ibdata3 size to 1000 mb innodb: database physically writes the file full: wait... 020204 23:21:37 innodb: log file ./ib_logfile0 did not exist: new to be created innodb: setting log file ./ib_logfile0 size to 10 mb innodb: database physically writes the file full: wait... 020204 23:21:39 innodb: log file ./ib_logfile1 did not exist: new to be created innodb: setting log file ./ib_logfile1 size to 10 mb innodb: database physically writes the file full: wait... 020204 23:21:41 innodb: log file ./ib_logfile2 did not exist: new to be created innodb: setting log file ./ib_logfile2 size to 10 mb innodb: database physically writes the file full: wait... innodb: doublewrite buffer not found: creating new innodb: doublewrite buffer created innodb: creating foreign key constraint system tables innodb: foreign key constraint system tables created 020204 23:21:45 innodb: started mysqld: ready for connections
现在一个新的 innodb 数据库被建立了。你可以通过 mysql 的客户端程序(比如 mysql)连接 mysql 服务器。当通过 mysqladmin shutdown 关闭 mysql 服务时,innodb 输出如下所示:
在 windows nt 和 2000 下可以将 mysql 服务安装为 windows 系统服务。这样在计算机启动时 mysql 服务会自动启动或在命令行方式下输入 ms-dos 命令 net start mysql 或从操作系统的服务菜单中启动。
如果以系统服务方式运行 mysql,可以通过 ms-dos的 net stop mysql 命令或操作系统的服务菜单中关闭服务。你同样可以让操作系统退出前自动关闭 mysql。在低于 mysql 3.23.47 版本的系统中,windows 操作系统仅仅只等待一段时间让 innodb 完全关闭,如果限止时间超过将杀死数据服务线程。那在下一次 innodb 启动不得不不进行一个崩溃修复。从 mysql version 3.23.48 开始,操作系统将等待 innodb 完全关闭。
如果你的操作系统没有为 innodb 完全关闭提供足够的时间,最安全的办法就是在 ms-dos 命令行下运行 mysql 服务,并用 mysqladmin shutdown 关闭服务。
在 windows nt (但 windows 2000 无些问题)下,当计算机关闭时,有一个可能发生的问题就是 windows nt 默认等待 20 秒以关闭一个服务,服务未能关闭将杀死服务线程。可以通过运行注册表编辑器 /winnt ystem32/regedt32.exe 来修改 hkey_local_machine ystem/currentcontrolset/control 中的 waittokillservicetimeout 键值以增加这个默认值。以毫秒为单位给定一个更大的值。