FreeBSD上MySQL多实例部署

   2024-09-30 3040
核心提示:在FreeBSD上部署MySQL多实例,可以通过以下步骤来完成:安装MySQL首先,确保已经安装了MySQL。如果没有,请使用以下命令安装:pk

在FreeBSD上部署MySQL多实例,可以通过以下步骤来完成:

安装MySQL

首先,确保已经安装了MySQL。如果没有,请使用以下命令安装:

pkg install mysql80-server
创建数据目录和配置文件

为每个实例创建一个单独的数据目录和配置文件。例如,我们将创建两个实例,分别为instance1instance2

mkdir -p /data/mysql/instance1/{data,log}mkdir -p /data/mysql/instance2/{data,log}

接下来,为每个实例创建一个配置文件。这些文件通常位于/usr/local/etc/目录下,并且以.cnf结尾。

touch /usr/local/etc/my.instance1.cnftouch /usr/local/etc/my.instance2.cnf

编辑这些文件,添加以下内容(根据需要进行修改):

my.instance1.cnf:

[mysqld]datadir=/data/mysql/instance1/datasocket=/tmp/mysql_instance1.sockport=3307log-error=/data/mysql/instance1/log/error.logpid-file=/var/run/mysql_instance1.pid

my.instance2.cnf:

[mysqld]datadir=/data/mysql/instance2/datasocket=/tmp/mysql_instance2.sockport=3308log-error=/data/mysql/instance2/log/error.logpid-file=/var/run/mysql_instance2.pid
初始化数据目录

对于每个实例,使用mysqld命令初始化数据目录。这将创建系统表和其他必要的文件。

mysqld --defaults-file=/usr/local/etc/my.instance1.cnf --initialize-insecuremysqld --defaults-file=/usr/local/etc/my.instance2.cnf --initialize-insecure
创建MySQL用户和组

为每个实例创建一个单独的用户和组。这些用户将运行MySQL服务器进程。

pw groupadd mysql_instance1pw useradd -n mysql_instance1 -g mysql_instance1 -d /nonexistent -s /bin/falsepw groupadd mysql_instance2pw useradd -n mysql_instance2 -g mysql_instance2 -d /nonexistent -s /bin/false
更改数据目录的所有权

将每个数据目录的所有权更改为相应的MySQL用户。

chown -R mysql_instance1:mysql_instance1 /data/mysql/instance1chown -R mysql_instance2:mysql_instance2 /data/mysql/instance2
创建启动脚本

为每个实例创建一个启动脚本。这些脚本将在系统启动时自动启动MySQL服务器。

/usr/local/etc/rc.d/mysql_instance1:

#!/bin/sh# PROVIDE: mysql_instance1# REQUIRE: DAEMON# KEYWORD: shutdown. /etc/rc.subrname="mysql_instance1"rcvar=${name}_enablecommand="/usr/local/libexec/mysqld"command_args="--defaults-file=/usr/local/etc/my.instance1.cnf"load_rc_config $namerun_rc_command "$1"

/usr/local/etc/rc.d/mysql_instance2:

#!/bin/sh# PROVIDE: mysql_instance2# REQUIRE: DAEMON# KEYWORD: shutdown. /etc/rc.subrname="mysql_instance2"rcvar=${name}_enablecommand="/usr/local/libexec/mysqld"command_args="--defaults-file=/usr/local/etc/my.instance2.cnf"load_rc_config $namerun_rc_command "$1"

为这些脚本添加可执行权限:

chmod +x /usr/local/etc/rc.d/mysql_instance1chmod +x /usr/local/etc/rc.d/mysql_instance2
启动实例

现在,可以启动这些实例了。使用以下命令启动它们:

service mysql_instance1 startservice mysql_instance2 start

要在系统启动时自动启动这些实例,请将以下内容添加到/etc/rc.conf文件中:

mysql_instance1_enable="YES"mysql_instance2_enable="YES"

现在,您已经在FreeBSD上成功部署了MySQL多实例。您可以使用不同的配置文件和端口连接到这些实例。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号