Username: Password:

在同一台机器上运行多个MySQL服务器
< 上一篇 | 下一篇 >
来源:linux宝库作者:linux宝库 发布时间:2007-09-30 00:00:00


  

  有些情况下您可能想要在同一台机器上运行多个服务器。例如,您可能想要测试一个新的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端口。

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅