在同一台机器上运行多个服务器
2008-04-30 11:13
239 查看
有些情况下你可能想要在同一台机器上运行多个服务器。例如,你可能想要测试一个新
的MySQL版本而让你现有生产系统的设置不受到干扰,或你可能是想要为不同的客户提供独
立的MySQL安装一个因特网服务供应商。
如果你想要运行多个服务器,最容易的方法是用不同的TCP/IP端口和套接字文件重新编
译服务器,因此他们不是侦听同一个TCP/IP端口或套接字。
假设一个现存服务器配置为缺省端口号和套接字文件,那么用一个这样的configure命
令行设置新的服务器:
shell>./configure--with-tcp-port=port_number
--with-unix-socket=file_name
--prefix=/usr/local/mysql-3.22.9
这里port_number和file_name应该不同于缺省端口号和套接字文件路径名,而且
--prefix值应该指定一个不同于现存的MySQL安装所在的安装目录。
你可以用这个命令检查由任何当前执行的MySQL所使用的套接字和端口:
shell>mysqladmin-hhostname--port=port_numbervariables
如果你有一个MySQL服务器正运行在你使用了的端口上,你将得到MySQL的一些最重要的
可配置变量的一张表,包括套接字名等。
你也应该编辑你机器的初始化脚本(可能是“mysql.server”)来启动并杀死多个mysqld
服务器。
你不必重新编译一个新MySQL服务器,只要以一个不同的端口和套接字启动即可。你可
以通过指定在运行时safe_mysqld使用的选项来改变端口和套接字:
shell>/path/to/safe_mysqld--socket=file_name--port=port_number
如果你在与开启日志的另一个服务器相同的一个目录下运行新服务器,你也应该
用safe_mysqld的--log和--log-update选项来指定日志文件的名字,否则,两个服务器可能
正在试图写入同一个日志文件。
警告:通常你决不应该有在同一个数据库中更新数据的2个服务器!如果你的OS不支持
无故障(fault-free)的系统锁定,这可能导致令人惊讶的事情发生!
如果你想要为第二个服务器使用另一个数据库目录,你可以使用safe_mysqld的
--datadir=path选项。
当你想要连接一个正在运行的,使用一个不同于编译进你的客户程序中端口的MySQL服
务器时,你可以使用下列方法之一:
?-host'hostname'--port=port_numer或[--hostlocalhost]--socket=file_name
启动客户。
在你的C或Perl程序中,当连接MySQL服务器时,你可以给出端口和套接字参数。
在你启动客户程序之前,设置MYSQL_UNIX_PORT和MYSQL_TCP_PORT环境变量,指向Unix
套接字和TCP/IP的端口。如果你通常使用一个特定的套接字或端口,你应该将设置这些环境
变量的命令放进你的“.login”文件中。
在你的主目录下的“.my.cnf”文件中指定缺省套接字和TCP/IP端口。1
的MySQL版本而让你现有生产系统的设置不受到干扰,或你可能是想要为不同的客户提供独
立的MySQL安装一个因特网服务供应商。
如果你想要运行多个服务器,最容易的方法是用不同的TCP/IP端口和套接字文件重新编
译服务器,因此他们不是侦听同一个TCP/IP端口或套接字。
假设一个现存服务器配置为缺省端口号和套接字文件,那么用一个这样的configure命
令行设置新的服务器:
shell>./configure--with-tcp-port=port_number
--with-unix-socket=file_name
--prefix=/usr/local/mysql-3.22.9
这里port_number和file_name应该不同于缺省端口号和套接字文件路径名,而且
--prefix值应该指定一个不同于现存的MySQL安装所在的安装目录。
你可以用这个命令检查由任何当前执行的MySQL所使用的套接字和端口:
shell>mysqladmin-hhostname--port=port_numbervariables
如果你有一个MySQL服务器正运行在你使用了的端口上,你将得到MySQL的一些最重要的
可配置变量的一张表,包括套接字名等。
你也应该编辑你机器的初始化脚本(可能是“mysql.server”)来启动并杀死多个mysqld
服务器。
你不必重新编译一个新MySQL服务器,只要以一个不同的端口和套接字启动即可。你可
以通过指定在运行时safe_mysqld使用的选项来改变端口和套接字:
shell>/path/to/safe_mysqld--socket=file_name--port=port_number
如果你在与开启日志的另一个服务器相同的一个目录下运行新服务器,你也应该
用safe_mysqld的--log和--log-update选项来指定日志文件的名字,否则,两个服务器可能
正在试图写入同一个日志文件。
警告:通常你决不应该有在同一个数据库中更新数据的2个服务器!如果你的OS不支持
无故障(fault-free)的系统锁定,这可能导致令人惊讶的事情发生!
如果你想要为第二个服务器使用另一个数据库目录,你可以使用safe_mysqld的
--datadir=path选项。
当你想要连接一个正在运行的,使用一个不同于编译进你的客户程序中端口的MySQL服
务器时,你可以使用下列方法之一:
?-host'hostname'--port=port_numer或[--hostlocalhost]--socket=file_name
启动客户。
在你的C或Perl程序中,当连接MySQL服务器时,你可以给出端口和套接字参数。
在你启动客户程序之前,设置MYSQL_UNIX_PORT和MYSQL_TCP_PORT环境变量,指向Unix
套接字和TCP/IP的端口。如果你通常使用一个特定的套接字或端口,你应该将设置这些环境
变量的命令放进你的“.login”文件中。
在你的主目录下的“.my.cnf”文件中指定缺省套接字和TCP/IP端口。1
相关文章推荐
- 在同一台机器上运行多个MySQL服务器
- 在同一台机器上运行多个 MySQL 服务器
- 在同一台机器上运行多个MySQL服务器
- 在同一台机器上运行多个MySQL服务器
- Programming Erlang 第十章:让客户机和服务器运行于同一台机器的不同节点
- 在同一台机器上运行多个MySQL服务器
- 在同一台机器上运行多个MySQL服务器
- 避免在一台机器上同时运行同一应用程序的多个实例。
- MariaDB与MySQL在一台服务器同时运行
- 一台服务器安装运行多个Tomcat及注册服务
- 如何在一台服务器上同时运行Asp.Net 1.1和Asp.Net 2.0两种Web站
- 如何在一台机器上安装两个甚至多个版本的EAS服务器?
- 如何重装Domino服务器或者将Domino服务器从一台机器迁移到另外一台
- 如何在一台机器上运行脚本时所有指定IP都运行指定脚本!
- redis(主从服务器)在windows下用一台机器配置分布式
- 局域网内一台服务器上运行其他几台服务器上的同一名称的脚本,运行脚本时候,传递一个参数
- 在一台机器上同时运行多个Neo4j实例
- (XMPP)如何使用agsxmpp类库登陆已经设置成cluster模式的XMPP服务器中的其中一台机器?
- 同一台机器部署多台tomcat服务器
- HADOOP综合应用架构之一 配置Secondarynamenode在另一台机器运行