centos7下创建mysql5.6多实例

前端之家收集整理的这篇文章主要介绍了centos7下创建mysql5.6多实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、MysqL安装目录说明
MysqL5.6以二进制安装包安装在/data/MysqL56下
数据目录为/data/MysqL56/data下
配置文件为/etc/my.cnf下

二、多实例目录说明
/MysqL-instance
         |-- 3308
                  |-- data  #3308实例数据目录
         |-- 3309
                  |-- data  #3309实例数据目录

> mkdir -p /MysqL-instance/3308/data
> mkdir -p /MysqL-instance/3309/data

                 
三、复制配置文件到实例目录下

> cp /data/MysqL56/support-files/my-default.cnf /MysqL-instance/3308/my.cnf
> cp /data/MysqL56/support-files/my-default.cnf /MysqL-instance/3309/my.cnf


四、修改配置文件

> vi /MysqL-instance/3308/my.cnf
> vi /MysqL-instance/3309/my.cnf
[client]
port = 3308
socket = /MysqL-instance/3308/MysqL.sock
[MysqL]
no-auto-rehash
[MysqLd]
user = MysqL
port = 3308
socket = /MysqL-instance/3308/MysqL.sock
basedir = /data/MysqL56
datadir = /MysqL-instance/3308/data
pid-file = /MysqL-instance/3308/MysqL.pid
relay-log = /MysqL-instance/3308/relay-bin
relay-log-info-file = /MysqL-instance/3308/relay-log.info
server-id = 12
[MysqLd_safe]
log-error = /MysqL-instance/3308/MysqL.err
pid-file = /MysqL-instance/3308/MysqL.pid

3309的配置同上,只需把3308的地方换成3309

五、创建MysqL多实例启动文件

> vi /MysqL-instance/3308/MysqL
> vi /MysqL-instance/3309/MysqL
#!/bin/sh
port=3308
MysqL_user="root"
#请填写自已数据库密码
MysqL_pwd="123456"
cmd_path="/data/MysqL56/bin"
MysqL_sock="/MysqL-instance/${port}/MysqL.sock"

MysqL_start() {
    if [ ! -e "$MysqL_sock" ];then
        printf "MysqL start ... \n"
        /bin/sh ${cmd_path}/MysqLd_safe --defaults-file=/MysqL-instance/${port}/my.cnf 2>&1 > /dev/null &
    else
        printf "MysqL is running ... \n"
        exit
    fi
}

MysqL_stop() {
    if [ ! -e "$MysqL_sock" ];then
        printf "MysqL is stopped ... \n"
        exit
    else
        printf "MysqL stop ... \n"
        ${cmd_path}/MysqLadmin -u ${MysqL_user} -p${MysqL_pwd} -S /MysqL-instance/${port}/MysqL.sock shutdown
    fi
}

MysqL_restart() {
    printf "MysqL restart ... \n"
    MysqL_stop
    sleep 2
    MysqL_start
}

case $1 in
    start) MysqL_start ;;
    stop) MysqL_stop ;;
    restart) MysqL_restart ;;
*)
printf "usage: /data/${port}/MysqL {start|stop|restart}\n"
esac

 
六、授权MysqL用户目录权限

> chown -R MysqL.MysqL /MysqL-instance
> chmod 700 /MysqL-instance/3308/MysqL
> chmod 700 /MysqL-instance/3309/MysqL

 
七、初始化MysqL多实例数据库文件

> cd /daa/MysqL56/scripts
> ./MysqL_install_db --basedir=/data/MysqL56 --datadir=/MysqL-instance/3308/data --user=MysqL
> ./MysqL_install_db --basedir=/data/MysqL56 --datadir=/MysqL-instance/3309/data --user=MysqL

 
八、启动MysqL多实例

> /MysqL-instance/3308/MysqL start
> /MysqL-instance/3309/MysqL start
> netstat -lntup|grep 330


九、登陆MysqL实例

> MysqL -uroot -p -S /MysqL-instance/3308/MysqL.sock

 

猜你在找的MySQL相关文章