如何在一台云服务器上同时启动两个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实例,大家觉得是自己想要的吗?如果想要了解更多相关,可以继续关注我们的行业资讯板块。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341