运行多个MYSQL服务器

mysql|服务器

    大多数人们都在指定的机器上运行单个MySQL服务器,但在有些情况下,运行多个服务器是有好处的:
    您可以在成品服务器运行的状态下测试新版本的服务器。在这种情况下,将运行不同的服务器。
    操作系统通常将总进程限制施加于打开文件的描述符数量上。如果系统提高该限制值有困难,则运行多个服务器是解决该限制的办法(例如,提高限制可能需要重新编译该内核,并且,如果该机器不是您的管辖范围,可能还不能这样做)。在这种情况中,您可能会运行相同服务器的多个实例。
    互联网服务经常提供给顾客他们自己的MySQL安装程序,它需要单独的服务器。在这种情况下,您可能会运行相同服务器或不同服务器的多个实例,如果不同的顾客需要不同MySQL版本的话。
    当然,同时运行几个服务器比只运行一个更复杂。如果您打算安装多个版本,则不能将它们都安装在相同的位置。当服务器运行时,某些参数对于每个服务器必须是唯一的。其中有些参数包括在服务器安装的地方:数据目录的路径名、TCP/IP 端口和UNIX 域的套接字路径名,以及用于运行多个服务器的UNIX 账号(如果不在相同的账号下运行所有的服务器的话)。如果决定运行多个服务器,则必须保持对正在使用的参数有良好说明,以便不失去对运行的跟踪。

配置和安装多个服务器

    如果打算运行不同版本的服务器而非相同服务器的多个实例,应该在不同的位置安装它们。如果安装二进制(不是R P M)分发包,它们将在包含版本号的目录名下被安装。如果从源程序分发包中安装,使不同的分发包分开的最容易的办法是,当在每个版本的MySQL安
装过程中运行configure 时使用--with-prefix 选项。这将导致在单独的目录下进行安装,并且可以连接该目录到该分发包的版本号上。例如,您可以按如下配置一个MySQL分发包,这里的version 是MySQL的版本号:
    % ./configure ..with-prefix=/usr/local/mysql-version
    -- with-prefix 选项还将确定服务器的唯一数据目录。您可能会增加选项来配置其他的服务器专有的值,如TCP/IP 端口和套接字路径名( --with-tcp-port 和- - w i t h - un i x - s o c k e t)。
    如果打算运行相同服务器的多个实例,则服务器专用的任何选项将需要在运行时指定。

多个服务器的启动过程

    启动多个服务器比使用单个服务器复杂,因为safe_mysqld 和mysql.server 二者均在单个服务器上工作良好。笔者建议您仔细研究safe_mysqld 并用它作为启动过程的基础,除非您使用按自己的需求修改得更精细的拷贝。
    必须处理的一个问题是如何在选项文件中指定选项。对于多个服务器,不能对在总服务器基础上变化了的设置使用/ e t c / my.cnf,只能为所有服务器都相同的设置使用该文件。如果每个服务器都有不同的数据目录位置,可以在每个服务器数据目录的my.cnf 文件中指定服务器专有的参数。换句话说,应为所有服务器都使用的设置使用/ e t c / my.cnf,并且为服务器专有的设置使用DATA D I R/ my.cnf,这里的DATADIR 随每个服务器变化。
    指定服务器选项的另一种方法是:使用- - d e f a ul t s - f i l e =p a t h _ name 作为该命令行的第一个选项,以便告诉服务器从path_name 指定的文件中读取选项。这样,可以将该文件中的服务器选项唯一地放置到那个服务器中,然后告诉服务器在启动时读取该文件。请注意,如果指定该选项,则没有任何通常的选项文件(如/ e t c / my.cnf)将被使用。

时间: 2024-10-28 08:27:52

运行多个MYSQL服务器的相关文章

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

    有些情况下你可能想要在同一台机器上运行多个服务器.例如,你可能想要测试一个新的MySQL版本而让你现有生产系统的设置不受到干扰, 或你可能是想要为不同的客户提供独立的MySQL安装一个因特网服务供应商. 如果你想要运行多个服务器,最容易的方法是用不同的TCP/IP端口和套接字文件重新编译服务器,因此他们不是侦听同一个TCP/IP端口或套接字. 假设一个现存服务器配置为缺省端口号和套接字文件, 那么用一个这样configure命令行设置新的服务器: shell> ./configure -

同时运行多个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和f

mysql服务器的几个调优技巧,让 MySQL 服务器飞速运行

关于 MySQL 调优 有 3 种方法可以加快 MySQL 服务器的运行速度,效率从低到高依次为: 替换有问题的硬件. 对 MySQL 进程的设置进行调优. 对查询进行优化. 替换有问题的硬件通常是我们的第一考虑,主要原因是数据库会占用大量资源.不过这种解决方案也就仅限于此了.实际上,您通常可以让中央处理器(CPU)或磁盘速度加倍,也可以让内存增大 4 到 8 倍. 第二种方法是对 MySQL 服务器(也称为 mysqld) 进行调优.对这个进程进行调优意味着适当地分配内存,并让 mysqld

MySQL服务器内部安全数据目录访问

作为MySQL管理员的您,在维护MySQL安装的安全性和完整性方面能够做些什么.在本文中,我们将更详细地讨论以下与安全性相关的问题: 为什么说安全性是重要的,应该警惕哪些攻击? 从服务器主机中的用户那里您将面临什么风险(内部安全性),能做什么? 从在网络上连接到服务器的客户机那里您将面临什么风险(外部安全性),能做什么? MySQL管理员有责任保护数据库内容的安全,使得记录只能由经过严格认证的那些用户访问.这包括内部安全性和外部安全性. 内部安全性关心文件系统级的问题,如保护MySQL数据目录免

配置最新的PHP加MYSQL服务器

mysql|服务器 通过一个小时的研究和设置.实现了最新的 PHP 5.0 + MYSQL 5.0 + WIN2003.个人认为还是有必要写个教程出来.因为很多方面和老版本的不尽相同.说实话自己也是查阅了很多官方文档才解决了很多怪异问题. ========================= 相关软件均可以在 WWW.SKYCN.NET 下载. MYSQL 5.0 FOR WINDOWS PHP 5.0 FOR WINDOWS PHPMYADMINWINDOWS SERVER 2003 =====

MySQL服务器默认安装之后如何调节性能

在面试MySQL DBA或者那些打算做MySQL性能优化的人时,我最喜欢问题是:MySQL服务器按照默认设置安装完之后,应该做哪些方面的调节呢? 令我很惊讶的是,有多少人对这个问题无法给出合理的答案,又有多少服务器都运行在默认的设置下. 尽管你可以调节很多MySQL服务器上的变量,但是在大多数通常的工作负载下,只有少数几个才真正重要.如果你把这些变量设置正确了,那么修改其他变量最多只能对系统性能改善有一定提升. key_buffer_size - 这对MyISAM表来说非常重要.如果只是使用My

MySQL服务器内部安全数据目录如何访问

作为MySQL管理员的您,在维护MySQL安装的安全性和完整性方面能够做些什么.在本文中,我们将更详细地讨论以下与安全性相关的问题: ◆为什么说安全性是重要的,应该警惕哪些攻击? ◆从服务器主机中的用户那里您将面临什么风险(内部安全性),能做什么? ◆从在网络上连接到服务器的客户机那里您将面临什么风险(外部安全性),能做什么? MySQL管理员有责任保护数据库内容的安全,使得记录只能由经过严格认证的那些用户访问.这包括内部安全性和外部安全性. 内部安全性关心文件系统级的问题,如保护MySQL数据

MySQL服务器的启动与停止

mysql|服务器 MySQL服务器的启动与停止[晏子] 一.以非特权用户运行MySQL服务器 在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器.服务器可以手动或自动启动.如果你手动启动它,服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行:如果你用su命令切换到root,然后运启动服务器,则它以root运行.然而,大多数情况下你可能不想手动启动服务器,最有可能是你安排MySQL服务器在系统引导

Mysql服务器的启动与停止(二)

mysql|服务器 三.停止服务器     要手工启动服务器,使用MySQLadmin:     %mysqladmin shutdown     要自动停止服务器,你不需做特别的事情.BSD系统一般通过向进程发一个TERM信号停止服务,它们或者正确应答它或被粗鲁地杀死.mysqld在它收到这个信号时以终止作为应答.对于用mysql.server启动服务器的System V风格的系统,停止进程将用一个stop参数调用该脚本,告诉服务器终止,当然假定你已安装了mysql.server.     四