下文给大家带来有关如何在一台云服务器上同时启动两个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
MysqLd_safe --defaults-file=/data/MysqL_3307/my.cnf --user=MysqL &
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 举报,一经查实,本站将立刻删除。