单机多实例安装mysql

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单机多实例安装mysql相关的知识,希望对你有一定的参考价值。

1.在data目录下新建

/data/3306/data

/data/3307/data


2.修改权限

chown -R mysql:mysql /data


3.复制文件

cd /data/3306/

cp /usr/local/mysql/support-files/my-small.cnf .

mv my-small.cnf my.cnf


4.修改my.cnf文件

cat my.cnf

[client]

port            = 3306

socket          = /data/3306/mysql.sock

[mysql]

no-auto-rehash

[mysqld]

user    = mysql

port    = 3306

socket  = /data/3306/mysql.sock

basedir = /usr/local/mysql

datadir = /data/3306/data

open_files_limit    = 1024

back_log = 600

max_connections = 800

max_connect_errors = 3000

table_cache = 614

external-locking = FALSE

max_allowed_packet =8M

sort_buffer_size = 1M

join_buffer_size = 1M

thread_cache_size = 100

thread_concurrency = 2

query_cache_size = 2M

query_cache_limit = 1M

query_cache_min_res_unit = 2k

#default_table_type = InnoDB

thread_stack = 192K

#transaction_isolation = READ-COMMITTED

tmp_table_size = 2M

max_heap_table_size = 2M

long_query_time = 1

#log_long_format

#log-error = /data/3306/error.log

#log-slow-queries = /data/3306/slow.log

pid-file = /data/3306/mysql.pid

log-bin = /data/3306/mysql-bin

relay-log = /data/3306/relay-bin

relay-log-info-file = /data/3306/relay-log.info

binlog_cache_size = 1M

max_binlog_cache_size = 1M

max_binlog_size = 2M

expire_logs_days = 7

key_buffer_size = 16M

read_buffer_size = 1M

read_rnd_buffer_size = 1M

bulk_insert_buffer_size = 1M

#myisam_sort_buffer_size = 1M

#myisam_max_sort_file_size = 10G

#myisam_max_extra_sort_file_size = 10G

#myisam_repair_threads = 1

#myisam_recover

lower_case_table_names = 1

skip-name-resolve

slave-skip-errors = 1032,1062

replicate-ignore-db=mysql

server-id = 1

innodb_additional_mem_pool_size = 4M

innodb_buffer_pool_size = 32M

innodb_data_file_path = ibdata1:128M:autoextend

innodb_file_io_threads = 4

innodb_thread_concurrency = 8

innodb_flush_log_at_trx_commit = 2

innodb_log_buffer_size = 2M

innodb_log_file_size = 4M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

innodb_file_per_table = 0

[mysqldump]

quick

max_allowed_packet = 2M

[mysqld_safe]

log-error=/data/3306/mysql_oldboy3306.err

pid-file=/data/3306/mysqld.pid


5.修改mysql文件

vi mysql


#!/bin/sh

port=3306

mysql_user="root"

mysql_pwd=""

CmdPath="/usr/local/mysql/bin"

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

#startup function

function_start_mysql()

{

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

    printf "Starting MariaMySQL...\n"

    /bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 > /dev/null &

  else

    printf "MariaMySQL 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 /data/${port}/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/${port}/mysql {start|stop|restart}\n"

esac


6.修改mysql的权限

chmod 700 mysql


7.初始化数据库(注意这里的 datadir ) 

/usr/local/mysql/scripts/mysql_install_db  --basedir=/usr/local/mysql --datadir=/data/3306/data/ --user=mysql


8.启动数据库

/data/3306/mysql start

lsof -i :3306


9.登录数据库

/usr/local/mysql/bin/mysql -S /data/3306/mysql.sock


10.配置第二个实例

cp /data/3306/my.cnf  /data/3307/

cp /data/3306/mysql  /data/3307/

修改文件

sed -i ‘s#3306#3307#g‘ /data/3307/my.cnf 

sed -i ‘s#3306#3307#g‘ /data/3307/mysql 

chown -R mysql.mysql /data/3307/

chmod 700 /data/3307/mysql

/usr/local/mysql/scripts/mysql_install_db  --basedir=/usr/local/mysql --datadir=/data/3307/data/ --user=mysql

/data/3307/mysql start

netstat -lnt |grep 3307

/usr/local/mysql/bin/mysql -S /data/3307/mysql.sock


11.检查

netstat -lnt |grep 330





以上是关于单机多实例安装mysql的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 5.7.21单机多实例安装

MySQL单机多实例配置实战

MYSQL的单机多实例部署

mysql的多实例安装

mysql单机多实例

MySQL单机多实例部署详解