如果打算运行不同版本的服务器而非相同服务器的多个实例,应该在不同的位置安装它们。如果安装二进制(不是R P M)分发包,它们将在包含版本号的目录名下被安装。如果从源程序分发包中安装,使不同的分发包分开的最容易的办法是,当在每个版本的MySQL安 装过程中运行configure 时使用--with-prefix 选项。这将导致在单独的目录下进行安装,并且可以连接该目录到该分发包的版本号上。例如,您可以按如下配置一个MySQL分发包,这里的version 是MySQL的版本号: % ./configure ..with-prefix=/usr/local/sql/Index.html'>mysql-version -- with-prefix 选项还将确定服务器的唯一数据目录。您可能会增加选项来配置其他的服务器专有的值,如TCP/IP 端口和套接字路径名( --with-tcp-port 和- - w i t h - un i x - s o c k e t)。 如果打算运行相同服务器的多个实例,则服务器专用的任何选项将需要在运行时指定。
多个服务器的启动过程
启动多个服务器比使用单个服务器复杂,因为safe_sql/Index.html'>mysqld 和sql/Index.html'>mysql.server 二者均在单个服务器上工作良好。笔者建议您仔细研究safe_sql/Index.html'>mysqld 并用它作为启动过程的基础,除非您使用按自己的需求修改得更精细的拷贝。 必须处理的一个问题是如何在选项文件中指定选项。对于多个服务器,不能对在总服务器基础上变化了的设置使用/ e t c / my.cnf,只能为所有服务器都相同的设置使用该文件。如果每个服务器都有不同的数据目录位置,可以在每个服务器数据目录的my.cnf 文件中指定服务器专有的参数。换句话说,应为所有服务器都使用的设置使用/ e t c / my.cnf,并且为服务器专有的设置使用DATA D I R/ my.cnf,这里的DATADIR 随每个服务器变化。 指定服务器选项的另一种方法是:使用- - d e f a ul t s - f i l e =p a t h _ name 作为该命令行的第一个选项,以便告诉服务器从path_name 指定的文件中读取选项。这样,可以将该文件中的服务器选项唯一地放置到那个服务器中,然后告诉服务器在启动时读取该文件。请注意,如果指定该选项,则没有任何通常的选项文件(如/ e t c / my.cnf)将被使用。
[责任编辑:电脑技巧]