查看“Mysqld multi - 管理多个mysql服务器”的源代码
←
Mysqld multi - 管理多个mysql服务器
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
mysqld_multi 用于管理监听不同 Unix 套接字文件和 TCP/IP 端口的多个 mysqld 进程。它可以启动或停止服务器,或报告它们的当前状态。 <blockquote>注意 对于某些 Linux 平台,通过 RPM 或 Debian 包安装的 MySQL 包括对管理 MySQL 服务器启动和关闭的支持的 systemd。在这些平台上,mysqld_multi 没有安装,因为它是不必要的。 </blockquote> <br> mysqld_multi 在 my.cnf(或由 –defaults-file 选项指定的文件)中搜索名为 [mysqldN] 的组。N 可以是任何正整数。以下讨论中的该数字称为选项组号,或 GNR。组号区分选项组,并用作 mysqld_multi 的参数,以指定要启动、停止或获取状态报告的服务器。这些组中列出的选项与用于启动 mysqld 的 [mysqld] 组中使用的选项相同。但是,在使用多个服务器时,每个服务器必须为其选项(如 Unix 套接字文件和 TCP/IP 端口号)使用自己的值。 <br> 要调用 mysqld_multi,请使用以下语法: <pre>mysqld_multi [options] {start|stop|reload|report} [GNR[,GNR] ...]</pre> <br> * start、stop、reload(停止并重新启动)、report 表示要执行的操作。您可以根据选项名称后面的 GNR 列表执行指定的操作。如果没有列表,mysqld_multi 将对选项文件中的所有服务器执行操作。 * 每个 GNR 值表示一个选项组号或一组选项组号。值应该是选项文件中组名末尾的数字。例如,对于名为 [mysqld17] 的组,GNR 为 17。要指定一系列数字,用破折号分隔第一个和最后一个数字。GNR 值为 10-13 表示从 [mysqld10] 到 [mysqld13] 的组。可以在命令行上指定多个组或组范围,用逗号分隔。GNR 列表中不能有空格字符(空格或制表符);空格字符后的任何内容都将被忽略。 <br> 此命令使用选项组 [mysqld17] 启动单个服务器: <pre>mysqld_multi start 17</pre> <br> 此命令停止几个服务器,使用选项组 [mysqld8] 和 [mysqld10] 到 [mysqld13]: <pre>mysqld_multi stop 8,10-13</pre> <br> 要设置选项文件的示例,请使用此命令: <pre>mysqld_multi --example</pre> <br> mysqld_multi 会按照以下方式搜索选项文件: # 使用 –no-defaults,不会读取任何选项文件。 # 使用 –defaults-file=file_name,只读取指定的文件。 # 否则,会读取标准位置列表中的选项文件,包括通过 –defaults-extra-file=file_name 选项给出的任何文件(如果多次给出,则使用最后一个值)。 <br> 读取的选项文件会搜索 [mysqld_multi] 和 [mysqldN] 选项组。[mysqld_multi] 组可用于 [mysqld_multi] 自身的选项。[mysqldN] 组可用于传递给特定 mysqld 实例的选项。 <br> [mysqld] 或 [mysqld_safe] 组可用于所有 mysqld 或 mysqld_safe 实例读取的通用选项。您可以使用 –defaults-file=file_name 选项为该实例使用不同的配置文件,在这种情况下,来自该文件的 [mysqld] 或 [mysqld_safe] 组将用于该实例。 <br> mysqld_multi 支持以下选项。 {| class="wikitable" |- ! 选项 ! 描述 |- | –help | 显示帮助消息并退出。 |- | –example | 显示示例选项文件。 |- | –log=file_name | 指定日志文件的名称。如果文件存在,日志输出将追加到其中。 |- | –mysqladmin=prog_name | 要使用的 mysqladmin 二进制文件。 |- | –mysqld=prog_name | 要使用的 mysqld 二进制文件。请注意,您还可以将 mysqld_safe 作为此选项的值指定。如果您使用 mysqld_safe 启动服务器,您可以在相应的 [mysqldN] 选项组中包含 mysqld 或 ledir 选项。这些选项指示 mysqld_safe 应启动的服务器名称以及服务器所在的目录路径名。 |- | –no-log | 将日志信息打印到标准输出而不是日志文件。默认情况下,输出将发送到日志文件。 |- | –password=password | 调用 mysqladmin 时使用的 MySQL 帐户的密码。请注意,对于此选项,密码值不是可选的,与其他 MySQL 程序不同。 |- | –silent | 静默模式;禁用警告。 |- | –tcp-ip | 通过 TCP/IP 端口而不是 Unix 套接字文件连接到每个 MySQL 服务器。(如果缺少套接字文件,服务器可能仍可运行,但只能通过 TCP/IP 端口访问。)默认情况下,使用 Unix 套接字文件进行连接。此选项影响停止和报告操作。 |- | –user=user_name | 调用 mysqladmin 时使用的 MySQL 帐户的用户名称。 |- | –verbose | 更详细。 |- | –version | 显示版本信息并退出。 |} <br> 关于 mysqld_multi 的一些注意事项: <blockquote>最重要:在使用 mysqld_multi 之前,请确保您了解传递给 mysqld 服务器的选项的含义以及为什么您希望有单独的 mysqld 进程。注意使用具有相同数据目录的多个 mysqld 服务器的危险。使用单独的数据目录,除非您知道自己在做什么。在线程系统中使用多个服务器启动不会为您提供额外的性能。 </blockquote> <br> <blockquote>重要 确保每个服务器的数据目录完全对特定 mysqld 进程启动的 Unix 帐户可访问。不要使用 Unix 根帐户进行此操作,除非您知道您在做什么。 </blockquote> <br> 确保用于停止 mysqld 服务器(使用 mysqladmin 程序)的 MySQL 帐户对于每个服务器具有相同的用户名和密码。此外,确保帐户具有 SHUTDOWN 权限。如果您想要管理的不同管理员帐户具有不同的用户名或密码,您可能需要在每个服务器上创建一个具有相同用户名和密码的帐户。例如,您可以为每个服务器设置一个名为 multi_admin 的通用 multi_admin 帐户,通过执行以下命令来设置: <pre>$> mysql -u root -S /tmp/mysql.sock -p Enter password: mysql> CREATE USER 'multi_admin'@'localhost' IDENTIFIED BY 'multipass'; mysql> GRANT SHUTDOWN ON *.* TO 'multi_admin'@'localhost';</pre> 您必须为每个 mysqld 服务器执行此操作。更改连接参数以适应每个连接。请注意,帐户名称的部分主机名部分必须允许您从要运行 mysqld_multi 的主机连接为 multi_admin。 <br> 每个 mysqld 必须具有自己的进程 ID 文件。使用 mysqld_safe 而不是 mysqld 的优势是 mysqld_safe 监视其 mysqld 进程并在由于使用 kill -9 或其他原因(如段错误)终止的信号而终止时重新启动它。 <br> 您可能想使用 mysqld 的 –user 选项,但要这样做,您需要以 Unix 超级用户(root)身份运行 mysqld_multi 脚本。在选项文件中拥有该选项无关紧要;如果您不是超级用户并且您的 Unix 帐户下启动了您的 mysqld 进程,您将收到警告。 <br> 以下示例显示了如何设置用于与 mysqld_multi 一起使用的选项文件。mysqld 程序按选项文件中出现的顺序启动或停止,组编号不必形成不连续的序列。本示例故意省略了前五个 [mysqldN] 组,以便说明您可以在选项文件中有“间隙”。这给了您更多的灵活性。 <pre># This is an example of a my.cnf file for mysqld_multi. # Usually this file is located in home dir ~/.my.cnf or /etc/my.cnf [mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/mysqladmin user = multi_admin password = my_password [mysqld2] socket = /tmp/mysql.sock2 port = 3307 pid-file = /usr/local/mysql/data2/hostname.pid2 datadir = /usr/local/mysql/data2 language = /usr/local/mysql/share/mysql/english user = unix_user1 [mysqld3] mysqld = /path/to/mysqld_safe ledir = /path/to/mysqld-binary/ mysqladmin = /path/to/mysqladmin socket = /tmp/mysql.sock3 port = 3308 pid-file = /usr/local/mysql/data3/hostname.pid3 datadir = /usr/local/mysql/data3 language = /usr/local/mysql/share/mysql/swedish user = unix_user2 [mysqld4] socket = /tmp/mysql.sock4 port = 3309 pid-file = /usr/local/mysql/data4/hostname.pid4 datadir = /usr/local/mysql/data4 language = /usr/local/mysql/share/mysql/estonia user = unix_user3 [mysqld6] socket = /tmp/mysql.sock6 port = 3311 pid-file = /usr/local/mysql/data6/hostname.pid6 datadir = /usr/local/mysql/data6 language = /usr/local/mysql/share/mysql/japanese user = unix_user4</pre>
返回至“
Mysqld multi - 管理多个mysql服务器
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息