同时运行多个MySQL服务器的方法

所属分类: 数据库 / Mysql 阅读数: 844
收藏 0 赞 0 分享
如果你想要运行多个服务器,最容易的方法是用不同的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端口。
更多精彩内容其他人还在看

MySQL中按照多字段排序及问题解决

这篇文章主要介绍了MySQL中按照多字段排序及问题解决的方法,非常的实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

MySQL外键使用详解

两天有人问mysql中如何加外键,今天抽时间总结一下。mysql中MyISAM和InnoDB存储引擎都支持外键(foreign key),但是MyISAM只能支持语法,却不能实际使用。
收藏 0 赞 0 分享

Mysql中LAST_INSERT_ID()的函数使用详解

从名字可以看出,LAST_INSERT_ID即为最后插入的ID值,有了这个实用的函数,我们可以实现很多问题,下面我们就来深入探讨下。
收藏 0 赞 0 分享

MySql insert插入操作的3个小技巧分享

这篇文章主要介绍了MySql insert插入操作的3个小技巧分享,本文讲解了插入的数据来源自其他表、插入时排除(忽略)重复记录、插入时遇到重复记录做更新操作三个小技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql修改自增长主键int类型为char类型示例

这篇文章主要介绍了mysql修改自增长主键int类型为char类型示例,需要的朋友可以参考下
收藏 0 赞 0 分享

Windows下使用Cygwin编译MySQL客户端

这篇文章主要介绍了Windows下使用Cygwin编译MySQL客户端,本文详细的讲解了编译过程,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL数据库优化推荐的编译安装参数小结

这篇文章主要介绍了MySQL数据库优化推荐的编译安装参数小结,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL之Field‘***’doesn’t have a default value错误解决办法

这篇文章主要介绍了MySQL之Field‘***’doesn’t have a default value错误解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

php连接MySQL的两种方式对比

这篇文章主要介绍了php连接MySQL的两种方式对比,一种是原生的链接方式另外一种是PDO方式,附上示例,推荐给大家,有需要的小伙伴可以参考下
收藏 0 赞 0 分享

Mysql InnoDB删除数据后释放磁盘空间的方法

这篇文章主要介绍了Mysql InnoDB删除数据后释放磁盘空间的方法,Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长,本文就讲解释放磁盘空间的方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多