查看“Mysqld multi”的源代码
←
Mysqld multi
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
mysqld_multi是设计用于管理在不同的Unix套接字文件和TCP/IP端口上监听连接的多个mysqld进程的工具。它可以启动或停止服务器,或者报告它们的当前状态。 ''''使用注意点:'''' #一般情况下不要为多MySql服务器配置相同的数据目录。 #确保用于多MySql服务器的MySql停止服务账号的账号和密码一致。 #每个MySql服务器的套接字与端口必须不一致。 #使用独立的进程文件对于安全启动MySql服务器很重要。 注意: 对于某些Linux平台,通过RPM或Debian软件包安装MySQL时已经包含了systemd支持,用于管理MySQL服务器的启动和关闭。在这些平台上,不需要安装mysqld_multi。 mysqld_multi在my.cnf中(或由--defaults-file选项指定的文件中)搜索名为[mysqldN]的组。N可以是任何正整数。本文后续讨论中将称此数字为选项组编号(GNR)。组编号用于区分不同的选项组,并作为参数传递给mysqld_multi,以指定您要启动、停止或获取状态报告的服务器。这些组中列出的选项与您在用于启动mysqld的[mysqld]组中使用的选项相同。然而,在使用多个服务器时,每个服务器都必须使用其自己的选项值,例如Unix套接字文件和TCP/IP端口号等。 要调用mysqld_multi,请使用以下语法: mysqld_multi [options] {start|stop|reload|report} [GNR[,GNR] ...] start、stop、reload(停止并重新启动)和report指示要执行的操作。您可以针对单个服务器或多个服务器执行指定操作,具体取决于后跟选项名称的GNR列表。如果没有列表,则mysqld_multi会在选项文件中为所有服务器执行该操作。 每个GNR值代表一个选项组编号或一系列连续的组编号。该值应为选项文件中组名末尾的数字。例如,组名为[mysqld17]的GNR为17。要指定一系列数字,请使用破折号将第一个数字和最后一个数字分隔开。GNR值10-13表示组[mysqld10]到[mysqld13]。可以在命令行上指定多个组或组范围,以逗号分隔。在GNR列表中不能有空格字符(空格或制表符),任何空格字符后面的内容将被忽略。 以下命令使用选项组[mysqld17]启动单个服务器: mysqld_multi start 17 以下命令使用选项组[mysqld8]和[mysqld10]到[mysqld13]停止多个服务器: mysqld_multi stop 8,10-13 如果您想了解如何设置选项文件,请使用以下命令示例: mysqld_multi --example mysqld_multi按照以下方式搜索选项文件: 使用--no-defaults参数时,不会读取任何选项文件。 使用--defaults-file=file_name参数时,仅读取指定的文件。 否则,将读取标准位置上的选项文件列表,包括由--defaults-extra-file=file_name参数指定的任何文件(如果有多个相同参数,则使用最后一个值)。 有关这些和其他选项文件选项的详细信息,请参见4.2.2.3节“影响选项文件处理的命令行参数”。 被读取的选项文件在[mysqld_multi]和[mysqldN]选项组中搜索。 [mysqld_multi]组可用于mysqld_multi本身的选项。 [mysqldN]组可用于传递给特定mysqld实例的选项。 [mysqld]或[mysqld_safe]组可用于所有mysqld或mysqld_safe实例共同读取的常用选项。您可以通过指定--defaults-file=file_name选项来为该实例使用不同的配置文件,在这种情况下,该文件中的[mysqld]或[mysqld_safe]组将用于该实例。 mysqld_multi支持以下选项。 --help 显示帮助消息并退出。 --example 显示示例选项文件。 --log=file_name 指定日志文件的名称。如果文件存在,则将日志输出追加到其中。 --mysqladmin=prog_name 用于停止服务器的mysqladmin二进制文件。 --mysqld=prog_name 要使用的mysqld二进制文件。请注意,您还可以将mysqld_safe作为此选项的值。如果使用mysqld_safe启动服务器,则可以在对应的[mysqldN]选项组中包含mysqld或ledir选项。这些选项指示mysqld_safe应启动的服务器的名称和服务器所在目录的路径名。 (请参阅第4.3.2节“mysqld_safe —— MySQL服务器启动脚本”中有关这些选项的描述。)示例: [mysqld38] mysqld = mysqld-debug ledir = /opt/local/mysql/libexec --no-log 将日志信息打印到标准输出而不是日志文件中。默认情况下,输出会写入日志文件。 --password=password 在调用mysqladmin时使用的MySQL账户的密码。与其他MySQL程序不同,此选项的密码值是必需的。 --silent 静默模式;禁用警告。 --tcp-ip 通过TCP/IP端口连接到每个MySQL服务器,而不是Unix套接字文件。(如果套接字文件丢失,服务器可能仍在运行,但只能通过TCP/IP端口访问。)默认情况下,使用Unix套接字文件进行连接。此选项影响停止和报告操作。 --user=user_name 在调用mysqladmin时使用的MySQL账户的用户名。 --verbose 增加详细输出。 --version 显示版本信息并退出。 关于mysqld_multi的一些注意事项: 最重要的是:在使用mysqld_multi之前,请确保您理解传递给mysqld服务器的选项的含义,以及为什么您希望拥有单独的mysqld进程。请注意,在相同的数据目录下使用多个mysqld服务器的危险性。除非您知道自己在做什么,否则请使用单独的数据目录。在线程系统中,使用相同数据目录启动多个服务器并不会提供额外的性能。请参阅第5.8节“在一个机器上运行多个MySQL实例”。 重要的是: 确保每个服务器的数据目录对特定的mysqld进程所使用的Unix帐户完全可访问。除非您知道自己在做什么,否则不要使用Unix root帐户进行此操作。请参阅6.1.5节“如何将MySQL作为普通用户运行”。 确保用于通过mysqladmin程序停止mysqld服务器的MySQL帐户对于每个服务器具有相同的用户名和密码。还要确保该帐户具有SHUTDOWN权限。如果要管理的服务器的管理帐户具有不同的用户名或密码,您可能需要在每个服务器上创建一个具有相同用户名和密码的帐户。例如,您可以通过执行以下命令来设置一个常见的multi_admin帐户: $> mysql -u root -S /tmp/mysql.sock -p 输入密码: mysql> CREATE USER 'multi_admin'@'localhost' IDENTIFIED BY 'multipass'; mysql> GRANT SHUTDOWN ON . TO 'multi_admin'@'localhost'; 请参阅6.2节“访问控制和帐户管理”。您必须为每个mysqld服务器执行此操作。连接到每个服务器时,相应地更改连接参数。注意,帐户名的主机名部分必须允许您从要运行mysqld_multi的主机连接为multi_admin。 每个mysqld的Unix套接字文件和TCP/IP端口号必须不同。(或者,如果主机具有多个网络地址,您可以设置bind_address系统变量,以使不同的服务器监听不同的接口。) 如果你正在使用mysqld_safe启动mysqld(例如,--mysqld=mysqld_safe),那么--pid-file选项非常重要。每个mysqld都应该有自己的进程ID文件。使用mysqld_safe而不是mysqld的优势在于,mysqld_safe监视其mysqld进程,并在进程由于使用kill -9发送的信号或其他原因(如段错误)终止时重新启动该进程。 您可能想要为mysqld使用--user选项,但是为此您需要以Unix超级用户(root)身份运行mysqld_multi脚本。选项文件中是否存在该选项并不重要;如果您不是超级用户并且mysqld进程在您自己的Unix帐户下启动,则只会收到警告。 以下示例显示了如何为mysqld_multi设置选项文件。mysqld程序的启动或停止顺序取决于它们在选项文件中出现的顺序。组编号不需要形成连续的序列。在示例中有意省略了第一个和第五个[mysqldN]组,以说明选项文件中可以存在“间隔”。这样可以提供更大的灵活性。 # 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
返回至“
Mysqld multi
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息