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

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

时间: 2024-09-21 07:51:19

在同一台机器上运行多个MySQL服务器的相关文章

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

mysql ********************************************************** 第一部分, 在一台服务器构建多mysql 服务. ********************************************************** 一,绪言 在Mysql中有一mysqld_multi命令,可用于在一台物理服务器运行多个Mysql服务,今天参考一些文档,亲自测试并通过,真高兴,现将操作过程共享给大家! 操作系统:Linux 2.6.

一台机器上运行多个ActiveMq 中间件?怎么配置?求详细讲解,谢谢谢了谢了

问题描述 一台机器上运行多个ActiveMq 中间件?怎么配置?求详细讲解,谢谢谢了谢了 一台机器上运行多个ActiveMq 中间件?怎么配置??求详细讲解,谢谢谢了谢了 一台机器上运行多个ActiveMq 中间件?

windows下在一台机器上安装两个MYSQL数据库的方法_Mysql

环境: OS:Windows 2003 DB:MYSQL5.5 1.正常安装第一个mysql(安装步骤省略) 2.在控制面板里停止第一个mysql服务 3.将C:\Program Files\MySQL目录下的所有目录和文件copy到另外一个路径,我这里是copy到E盘 4.创建第二个mysql的my.ini文件 第一个mysql的my.ini文件默认是在如下路径 C:\Documents and Settings\All Users\Application Data\MySQL\MySQL S

求助 java socket编程c/s在同一台机器上与c/s在不同机器上的区别

问题描述 socket程序,cs在同一个机器上可以正常传递数据,但cs分别在两个机器上就多出了一些数据这是什么原因.列入程序如下:ClientApp.javaimportjava.net.*;importjava.io.*;importjava.lang.*;publicclassClientApp{publicstaticvoidmain(Stringargs[]){try{//创建通讯并且和主机Rock连接SocketcSocket=newSocket("127.0.0.1",80

同一台机器上需要安装多个tomcat怎么配置?

问题描述 同一台机器上需要安装多个tomcat怎么配置? 我需要在同一个计算机上,安装两个tomcat,虽然我把两个端口更改了,但是开启和关闭时,这两个tomcat还是会有相互影响,各位大侠,有没有同一台机器上,配置多个tomcat的方案教程呢,我网上也找了一些,试了还是有问题 解决方案 当第一个tomcat启动后,后面tomcat的server.xml中的端口不管怎么改,仍然会报端口冲突.后来在dos下运行才发现所有的tomcat都会去找CATALINA_HOME和CATALINA_BASE这

WSAD5.1+oracle9i在一台机器上的问题ora-00600-参考

我把WSAD5.1+oracle9i装在一台机器上进行单机调试.首先,在本机安装oracle9i标准版(2.5G);然后,创建测试用数据库 ebank2391 从X.X.X.84上使用TOAD导出ebank数据库的 tables表结构,sequence序列,functions函数,procdure存储过程,packages包2 使用TOAD导出表数据ebankdata.sql文件3 在ebank239数据库创建表空间4 在ebank239上导入tables表结构,sequence序列, func

服务器-家里如何在一台机器上布置两个80端口的网站?

问题描述 家里如何在一台机器上布置两个80端口的网站? 机器是Mac Mini 家里如何在一台机器上布置两个80端口的网站? 不想用域名加端口(例如www.aaa.com:8801), 想直接用www.aaa.com 和www.bbb.com 求教!谢谢! 解决方案 域名不一样直接绑定就好了,域名一样才要使用端口区分. 注意你2个域名都要在同一个web服务器上绑定,不要安装了iis,tomcat,分别绑到不同web服务器,80端口只能分配给iis合作tomcat其中一个 解决方案二: 家里 的机

在同一台机器上使用两个不同账号登录出现session问题

问题描述 我们开发了一个系统,我使用admin和test两个账号在同一台机器上登录,出现了一个问题.假设我先用admin登录(不退出),接着用test账号登录,结果admin中session保留的信息变成了test的信息.这个问题怎么解决? 解决方案 很正常啊,登陆信息都是保存在cookie里的.然后,第二个账户登陆的时候,由于cookie的域是一样的,自然会覆盖掉之前的哪个账户.很多网站都是这样.正常情况下,一个用户怎么会同时操作两个账号?有这个需求?如果用户真心希望能够登陆两个账号,那么让他

路径-各位android的高手,请问怎么得到,判断一台机器上usb盘的目录是什么

问题描述 各位android的高手,请问怎么得到,判断一台机器上usb盘的目录是什么 各位android的高手,请问怎么得到,判断一台机器上usb盘的目录是什么 或者怎么判断一个路径是不是usb盘的 一个实例如下(我现在的一个android设备现状): 1,有内部存储器sdcard,具体路径:/mnt/sdcard 2,有tf卡,具体路径:/mnt/ext_sd 3,有u盘,具体路径:/mnt/usbhost1 我可以得到/mnt/usbhost1,并且确定其是u盘的路径 但是其他设备不一定会和