频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

在同一台机器上运行多个MySQL服务器[共享]

来源: 作者: 出处:巧巧读书 2006-02-07 进入讨论组

   有些情况下你可能想要在同一台机器上运行多个服务器。例如,你可能想要测试一个新的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 -h hostname --port=port_number variables
   如果你有一个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或[--host localhost] --socket=file_name启动客户。 
   在你的C或Perl程序中,当连接MySQL服务器时,你可以给出端口和套接字参数。 
   在你启动客户程序之前,设置MYSQL_UNIX_PORT和MYSQL_TCP_PORT环境变量,指向Unix套接字和TCP/IP的端口。如果你通常使用一个特定的套接字或端口,你应该将设置这些环境变量的命令放进你的“.login”文件中。 
在你的主目录下的“.my.cnf”文件中指定缺省套接字和TCP/IP端口。 观看地址: http://www.qqread.com/mysql/e922281305.html 更多文章 更多内容请看共享上网专题三机互联与共享专题FTP服务器专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
较早的文章:如何安装mysql 5.0

较新的文章:SQL 语法参考
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章