微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在一台云服务器上同时启动两个mysql实例

下文给大家带来有关如何在一台云服务器上同时启动两个mysql实例内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完如何在一台云服务器上同时启动两个MysqL实例你一定会有所收获。

操作环境:centos6.8

有时由于云服务器硬件资源紧张,而又需要新增MysqL服务。这时我们可以采取在一台云服务器上部署两个MysqL实例,来解决

1、创建新的MysqL实例数据存储目录:

mkdir -p /data/MysqL_3307

2、把my.cnf配置文件复制一份,开几个端口要复制几份。

cp /etc/my.cnf /data/MysqL_3307/my.cnf

3、修改/data/MysqL_3307/my.cnf文件,把认的3306端口改成 3307,根据实际情况修改socket,basedir,datadir 。

[client]
port = 3307
socket = /tmp/MysqL_3307.sock
default-character-set = utf8

The MysqL server

[MysqLd]
port = 3307
user = MysqL
socket = /tmp/MysqL_3307.sock
basedir = /usr
datadir = /data/MysqL_3307
character-set-server = utf8
log-error = /data/MysqL_3307/error.log
pid-file = /data/MysqL_3307/localhost.localdomain.pid

4、初始化数据库:

MysqL_install_db --basedir=/usr --datadir=/data/MysqL_3307 --user=MysqL

MysqL是yum安装的,所以basedir=/usr就可以,它会自动在/usr下找MysqL的安装目录。

如果是源码包编译安装的MysqL,假如安装路径是在/usr/local/MysqL

cd /usr/local/MysqL/scripts/

./MysqL_install_db --basedir=/usr/local/MysqL --datadir=/data/MysqL_3307 --user=MysqL

5、启动MysqL,要指定.cnf文件启动

MysqLd_safe --defaults-file=/data/MysqL_3307/my.cnf --user=MysqL &

6、停止MysqL,需要指定对应的sock文件

MysqLadmin -uroot -S /tmp/MysqL_3307.sock shutdown

7、登陆3307端口的MysqL

MysqL -S /tmp/MysqL_3307.sock -P 3307

启动、停止、重启MysqL脚本:

#!/bin/bash
#MysqL 停止\启动\重启脚本 此脚本只针对yum安装的MysqL,而且已经为root设置过密码。

#init
port=3307
MysqL_user="root"
MysqL_pwd="123456"
Cmdpath="/usr/bin"
MysqLsock="/tmp/MysqL${port}.sock"

#startup function
function_start_MysqL()
{
if [ ! -e "$MysqL_sock" ];then
printf "Starting MysqL...\n"
${Cmdpath}/MysqLd_safe --defaults-file=/data/MysqL_3307/my.cnf --user=MysqL 2>&1 >/dev/null &
else
printf "MysqL is running...\n"
exit
fi
}

#stop function
function_stop_MysqL()
{
if [ ! -e "$MysqL_sock" ];then
printf "MysqL is stopped...\n"
exit
else
printf "Stoping MysqL...\n"
${Cmdpath}/MysqLadmin -u ${MysqL_user} -p${MysqL_pwd} -S ${MysqL_sock} shutdown
fi
}

#restart function
function_restart_MysqL()
{
printf "Restarting MysqL...\n"
function_stop_MysqL
sleep 2
function_start_MysqL
}

case $1 in
start)
function_start_MysqL
;;
stop)
function_stop_MysqL
;;
restart)
function_restart_MysqL
;;
*)
printf "Usage: /data/MysqL_3307 {start|stop|restart}\n"
esac

对于上文关于如何在一台云服务器上同时启动两个MysqL实例,大家觉得是自己想要的吗?如果想要了解更多相关,可以继续关注我们的行业资讯板块。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐