mysql5.7多实例

启动端口号为3355和3366的二个实例。创建文件夹

[root@localhost /]# mkdir -p /mysqldata/{3355,3366}/data

将配置文件拷贝到响应的文件夹,

my.cnf

[client]
port            = 3355
socket          = /mysqldata/3355/mysql.sock

[mysql]
no-auto-rehash

[mysqld]
user    = mysql
port    = 3355
socket  = /mysqldata/3355/mysql.sock
basedir = /mysql
datadir = /mysqldata/3355/data
open_files_limit    = 1024
back_log = 600
max_connections = 800
max_connect_errors = 3000
external-locking = FALSE
max_allowed_packet =8M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 100
query_cache_size = 2M
query_cache_limit = 1M
query_cache_min_res_unit = 2k

[root@localhost 3306]# cp my.cnf /mysqldata/3355/

[root@localhost 3306]# cp my.cnf /mysqldata/3356

编辑端口号

[root@localhost mysqldata]# vim /mysqldata/3366/my.cnf

[root@localhost mysqldata]# vim /mysqldata/3366/my.cnf

创建数据库目录

[root@localhost /]# /mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/mysqldata/3355/data

[root@localhost /]# /mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/mysqldata/3366/data

编写启动脚本

#!/bin/sh

port=3355
mysql_user="root"
mysql_pwd="123456"
Cmd_path="/mysql/bin"
mysql_sock="/mysqldata/${port}/mysql.sock"

function_start_mysql()
{
 if [ ! -e "$mysql_sock" ];then
  printf "Starting MySQL\n"
  /bin/sh ${Cmd_path}/mysqld_safe --defaults-file=/mysqldata/${port}/my.cnf  &
 else
  print "MySQL is running..\n"
  exit
 fi
}

function_stop_mysql()
{
  if [ !-e "$mysql_sock" ];then
   printf "MYSQL IS NOT RUNNING \n"
   exit
  else
   ${Cmd_path}/mysqladmin -u${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown
   printf "MYSQL IS shutdown \n"
  fi

}

function_restart_mysql()
{
  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/${port}/mysql {start|stop|restart}\n"
;;
esac

[root@localhost /]# cp /mysqldata/3355/mysql /mysqldata/3366/

进行端口号修改

修改mysqldata的归属

[root@localhost /]# chown -R mysql.mysql /mysqldata/

给脚本增加执行权限

[root@localhost /]# chmod +x /mysqldata/3355/mysql 

[root@localhost /]# chmod +x /mysqldata/3366/mysql   

[root@localhost /]# ls -l /mysqldata/33*/mysql           

-rwxr-xr-x 1 mysql mysql 827 Sep 27 07:58 /mysqldata/3355/mysql

-rwxr-xr-x 1 mysql mysql 827 Sep 27 07:58 /mysqldata/3366/mysql

运行多实例

[root@localhost /]# ./mysqldata/3355/mysql start

[root@localhost /]# ./mysqldata/3366/mysql start

查看一下

[root@localhost mysqldata]# ps -ef|grep mysql

root     14694     1  0 08:08 pts/1    00:00:00 /bin/sh /mysql/bin/mysqld_safe --defaults-file=/mysqldata/3355/my.cnf

mysql    14981 14694  0 08:08 pts/1    00:00:00 /mysql-5.7.15/bin/mysqld --defaults-file=/mysqldata/3355/my.cnf --basedir=/mysql --datadir=/mysqldata/3355/data --plugin-dir=/mysql/lib/plugin --user=mysql --log-error=/mysqldata/3355/data/localhost.localdomain.err --open-files-limit=1024 --pid-file=/mysqldata/3355/data/localhost.localdomain.pid --socket=/mysqldata/3355/mysql.sock --port=3355

root     15064     1  0 08:10 pts/1    00:00:00 /bin/sh /mysql/bin/mysqld_safe --defaults-file=/mysqldata/3366/my.cnf

mysql    15351 15064  3 08:10 pts/1    00:00:00 /mysql-5.7.15/bin/mysqld --defaults-file=/mysqldata/3366/my.cnf --basedir=/mysql --datadir=/mysqldata/3366/data --plugin-dir=/mysql/lib/plugin --user=mysql --log-error=/mysqldata/3366/data/localhost.localdomain.err --open-files-limit=1024 --pid-file=/mysqldata/3366/data/localhost.localdomain.pid --socket=/mysqldata/3366/mysql.sock --port=3366

看看端口号

[root@localhost /]# netstat -an|grep 33[55-66]

tcp6       0      0 :::3355                 :::*                    LISTEN     

tcp6       0      0 :::3366                 :::*                    LISTEN     

unix  2      [ ACC ]     STREAM     LISTENING     94457    /mysqldata/3355/mysql.sock

unix  2      [ ACC ]     STREAM     LISTENING     94854    /mysqldata/3366/mysql.sock

相关推荐