暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

5.8.3在Unix上运行多个MySQL实例

原创 由迪 2020-09-21
566

注意

这里的讨论使用mysqld_safe启动多个MySQL实例。对于使用RPM发行版的MySQL安装,服务器的启动和关闭由systemd在多个Linux平台上进行管理。在这些平台上, 未安装mysqld_safe,因为它是不必要的。有关使用systemd处理多个MySQL实例的信息,请参见第2.5.9节“使用systemd管理MySQL Server”

一种方法是在Unix上运行多个MySQL实例,即使用不同的默认TCP / IP端口和Unix套接字文件编译不同的服务器,以便每个服务器侦听不同的网络接口。对于每个安装,在不同的基本目录中编译还会自动为每个服务器生成单独的,已编译的数据目录,日志文件和PID文件位置。

假定为默认的TCP / IP端口号(3306)和Unix套接字文件(/tmp/mysql.sock)配置了一个现有的5.7服务器。要将新的8.0.23服务器配置为具有不同的操作参数,请使用CMake命令,如下所示:

shell> cmake . -DMYSQL_TCP_PORT=port_number \
             -DMYSQL_UNIX_ADDR=file_name \
             -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-8.0.23

在此,*port_number*并且 *file_name*必须与默认的TCP / IP端口号和Unix套接字文件路径名不同,并且该 CMAKE_INSTALL_PREFIX值应指定与现有MySQL安装所在的安装目录不同的安装目录。

如果您有一个正在侦听给定端口号的MySQL服务器,则可以使用以下命令来查找它对于几个重要的可配置变量(包括基本目录和Unix套接字文件名)所使用的操作参数:

shell> mysqladmin --host=host_name --port=port_number variables

使用该命令显示的信息,您可以知道在配置其他服务器时使用哪些选项值。

如果指定localhost为主机名,则 mysqladmin默认使用Unix套接字文件而不是TCP / IP。要明确指定传输协议,请使用 --protocol={TCP|SOCKET|PIPE|MEMORY} 选项。

您不必仅以其他Unix套接字文件和TCP / IP端口号开始就编译新的MySQL服务器。也可以使用相同的服务器二进制文件,并在运行时以不同的参数值开始对其的每次调用。一种方法是使用命令行选项:

shell> mysqld_safe --socket=file_name --port=port_number

要启动第二台服务器,请提供不同的 值--socket--port选项值,并将 选项传递 给mysqld_safe,以便服务器使用不同的数据目录。 --datadir=*dir_name*

或者,将每个服务器的选项放在不同的选项文件中,然后使用一个--defaults-file选项来启动每个服务器,该 选项指定了相应选项文件的路径。例如,如果两个服务器实例的选项文件分别命名为 /usr/local/mysql/my.cnf/usr/local/mysql/my.cnf2,则按如下所示启动服务器:命令:

shell> mysqld_safe --defaults-file=/usr/local/mysql/my.cnf
shell> mysqld_safe --defaults-file=/usr/local/mysql/my.cnf2

实现类似效果的另一种方法是使用环境变量来设置Unix套接字文件名和TCP / IP端口号:

shell> MYSQL_UNIX_PORT=/tmp/mysqld-new.sock
shell> MYSQL_TCP_PORT=3307
shell> export MYSQL_UNIX_PORT MYSQL_TCP_PORT
shell> bin/mysqld --initialize --user=mysql
shell> mysqld_safe --datadir=/path/to/datadir &

这是启动第二台服务器进行测试的快速方法。关于此方法的好处是,环境变量设置适用于您从同一shell调用的任何客户端程序。因此,这些客户端的连接将自动定向到第二台服务器。

第4.9节“环境变量”列出了可用于影响MySQL程序的其他环境变量。

在Unix上,mysqld_multi脚本提供了另一种启动多个服务器的方法。请参见 第4.3.4节“ **mysqld_multi-**管理多个MySQL服务器”

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论