在同一台机器上运行多个MySQL服务器_MySQL

php中文网
发布: 2016-06-01 14:12:10
原创
1347人浏览过

  有些情况下你可能想要在同一台机器上运行多个服务器。例如,你可能想要测试一个新的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端口。
相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号