Mysql入门系列:运行多个MYSQL服务器

2016-02-19 15:09 2 1 收藏

今天图老师小编给大家展示的是Mysql入门系列:运行多个MYSQL服务器,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - 编程语言 】

  大多数人们都在指定的机器上运行单个MySQL服务器,但在有些情况下,运行多个服务器是有好处的:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  您可以在成品服务器运行的状态下测试新版本的服务器。在这种情况下,将运行不同的服务器。

  操作系统通常将总进程限制施加于打开文件的描述符数量上。如果系统提高该限制值有困难,则运行多个服务器是解决该限制的办法(例如,提高限制可能需要重新编译该内核,并且,如果该机器不是您的管辖范围,可能还不能这样做)。在这种情况中,您可能会运行相同服务器的多个实例。

  互联网服务经常提供给顾客他们自己的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)。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  如果打算运行相同服务器的多个实例,则服务器专用的任何选项将需要在运行时指定。

  多个服务器的启动过程

  启动多个服务器比使用单个服务器复杂,因为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)将被使用。

  查看全套"Mysql入门系列教程"

来源:https://www.tulaoshi.com/n/20160219/1609017.html

延伸阅读
MySQL是一个多用户、多线程SQL数据库服务器。可以用于各种流行操作系统平台的关系数据库,它具有客户机/服务器体系结构的分布式数据库管理系统。MySQL完全适用于网络,用其建造的数据库可以在网上的任意地方访问。MySQL可以使用SQL语言。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现...
3.6 检索记录 除非最终检索它们并利用它们来做点事情,否则将记录放入数据库没什么好处。这就是SELECT 语句的用途,即帮助取出数据。SELECT 大概是SQL 语言中最常用的语句,而且怎样使用它也最为讲究;用它来选择记录可能相当复杂,可能会涉及许多表中列之间的比较。SELECT 语句的语法如下: 除了词 S E L E C T和说明希...
关系数据库的世界是一个表与集合、表与集合上的运算占统治地位的世界。数据库是一个表的集合,而表又是行和列的集合。在发布一条SELECT 查询从表中进行检索行时,得到另一个行和列的集合。这些都是一些抽象的概念,对于数据库系统用来操纵表中数据的基本 表示没有多少参考价值。另一个抽象概念是,表上的运算都同时进行;查询是一种概...
标签: MySQL mysql数据库
 作为MySQL管理员,一个普通的目标就是确保服务器尽可能地处于运行状态,使得客户机能够随时访问它。但是,有时最好关闭服务器(例如,如果正在进行数据库的重定位,不希望服务器在该数据库中更新表)。保持服务器运行和偶尔关闭它的需求关系不是本书所解 决的。但是我们至少可以讨论如何使服务器启动和停止,以便您具备进行这两个操作的...
标签: PHP
一、以非特权用户运行MySQL服务器     在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器。服务器可以手动或自动启动。如果你手动启动它,服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行;如果你用su命令切换到root,然后...

经验教程

733

收藏

98
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部