您的位置:首页 > 数据库 > MySQL

每天进步一点点——MySQL多实例

2015-12-14 21:34 645 查看
注意:本人使用版本为mysql5.7.10,一些参数可能会与其他版本不同

首先创建目录

[root@localhost 3307]# mkdir -p /mysql/{3306,3307}/data

这里(由于端口要用3306和3307,然而为了方便进入目录所以反着写的,纯属个人坏习惯最好别学)

然后将my.cnf拷贝到对应的目录中

[root@localhost 3307]# cp /etc/my.cnf /mysql/3307/

[root@localhost 3307]# cp /etc/my.cnf /mysql/3306/

my.cnf需要增加:

[mysqld]

user=mysql

port=3307

socket=/mysql/3307/mysql.sock                                                                                                       

datadir=/mysql/3307/data

pid-file=/mysql/3307/mysql.pid                                                                                                      

log-bin=/mysql/3307/mysql-bin                                                                                                       

relay-log=/mysql/3307/relay-bin

                                                                                                                                    

[mysqld_safe]                                                                                                                      

log-error=/mysql/3307/mysql_oldboy3307.err                                                                                          

pid-file=/mysql/3307/mysqld.pid 

[client]                                                                                                                           

port=3307                                                                                                                           

socket=/mysql/3307/mysql.sock

将两个目录进行赋权

[root@localhost 3307]# chown -R mysql /mysql

对MySQL进行初始化(创建一些初始的表和用户啥的)

[root@localhost 3307]# mysqld --initialize --user=mysql --datadir=/mysql/3307/data

[root@localhost 3307]# mysqld --initialize --user=mysql --datadir=/mysql/3306/data

这里如果是5.5则应该使用

$MYSQL_HOME/scripts/mysql_install_db --user=mysql  --datadir=/mysql/3307/data

这里如果是5.1则应该使用

mysql_install_db --user=mysql   --datadir=/mysql/3307/data

初始化之后就可以启动对应的mysql了

mysqld_safe --defaults-file=/mysql/3306/my.cnf 

关闭MySQL方法

mysqladmin -uroot -p'1234567' -S /mysql/3306/mysql.sock shutdown

下面附上启动脚本(自己写的,有哪里可以修改请指正)

#!/bin/sh

#MySQL init

#port

port=3307

#username

mysql_user="root"

#password

mysql_password="1q2w#E\$R"

#bin path

BinPath="/usr/bin"

#sock path

mysql_sock="/mysql/${port}/mysql.sock"

#startup function

function_start_mysql()

{

        if [ ! -e "$mysql_sock" ];then

              printf "Strarting Mysql...\n"

              /bin/sh ${BinPath}/mysqld_safe --defaults-file=/mysql/${port}/my.cnf 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"

                ${BinPath}/mysqladmin -u${mysql_user} -p${mysql_password} -S ${mysql_sock} shutdown

        fi

}

case $1 in

start)

        function_start_mysql

;;

stop)

        function_stop_mysql

;;

*)

        printf "Usage:/data/${port}/mysql {start|stop}\n"

esac
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: