mysql5.6多实例配置_mysql 5.6配置多实例

环境:centos 6.7 x86_64

mysql version:mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

步骤:

1.解压包,创建mysql管理用户和数据目录

Shell

[root@db1 ~]#tar -xf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

#解压mysql压缩包

[root@db1 ~]#mv mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql

#移动mysql目录到/usr/local/mysql

[root@db1 ~]#useradd -s /sbin/nologin -M mysql

#创建mysql用户用于管理mysql进程不创建家目录,不允许tty登录

[root@db1 ~]#mkdir /data/{3306,3307}/data -pv

#创建每个实例文件保存mysql数据的位置

[root@db1 ~]#chown -R mysql.mysql /data

#将文件夹权限赋予mysql用户,不然不能启动和写入数据

1

2

3

4

5

6

7

8

9

10

[root@db1~]#tar -xf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

#解压mysql压缩包

[root@db1~]#mv mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql

#移动mysql目录到/usr/local/mysql

[root@db1~]#useradd -s /sbin/nologin -M mysql

#创建mysql用户用于管理mysql进程不创建家目录,不允许tty登录

[root@db1~]#mkdir /data/{3306,3307}/data -pv

#创建每个实例文件保存mysql数据的位置

[root@db1~]#chown -R mysql.mysql /data

#将文件夹权限赋予mysql用户,不然不能启动和写入数据

2.初始化3306、3307实例数据库

Shell

[root@db1 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data/

#初始化3306数据库

[root@db1 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307/data/

#初始化3307数据库

1

2

3

4

[root@db1~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data/

#初始化3306数据库

[root@db1~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307/data/

#初始化3307数据库

3.分别创建3306和3307的my.cnf配置文件

Shell

[root@db1 ~]# vim /data/3306/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

thread_stack = 192K

tmp_table_size = 2M

max_heap_table_size = 2M

long_query_time = 1

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

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_3306.err

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

[root@db1 ~]#cp /data/3306/my.cnf /data/3307/my.cnf

[root@db1 ~]#sed -i 's#3306#3307#g' /data/3307/my.cnf

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

[root@db1~]# vim /data/3306/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

thread_stack=192K

tmp_table_size=2M

max_heap_table_size=2M

long_query_time=1

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

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_3306.err

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

[root@db1~]#cp /data/3306/my.cnf /data/3307/my.cnf

[root@db1~]#sed -i 's#3306#3307#g' /data/3307/my.cnf

4.分别创建mysqld启动脚本

Shell

[root@db1 ~]# vim /data/3306/mysqld

#!/bin/bash

port=3306

mysql_user="root"

mysql_pwd="123456"

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

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

#startup function

function_start_mysql()

{

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

printf "Starting MySQL...\n"

/bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${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"

${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

#3307也copy一份并且修改端口路径

[root@db1 ~]#cp /data/3306/mysqld /data/3307/mysqld

[root@db1 ~]#sed -i 's#3306#3307#g' /data/3307/mysqld

#赋予执行权限

[root@db1 ~]#chmod +x /data/3306/mysqld

[root@db1 ~]#chmod +x /data/3307/mysqld

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

[root@db1~]# vim /data/3306/mysqld

#!/bin/bash

port=3306

mysql_user="root"

mysql_pwd="123456"

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

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

#startup function

function_start_mysql()

{

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

printf"Starting MySQL...\n"

/bin/sh${CmdPath}/mysqld_safe--defaults-file=/data/${port}/my.cnf2>&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/data/${port}/mysql.sockshutdown

fi

}

#restart function

function_restart_mysql()

{

printf"Restarting MySQL...\n"

function_stop_mysql

sleep2

function_start_mysql

}

case$1in

start)

function_start_mysql

;;

stop)

function_stop_mysql

;;

restart)

function_restart_mysql

;;

*)

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

esac

#3307也copy一份并且修改端口路径

[root@db1~]#cp /data/3306/mysqld /data/3307/mysqld

[root@db1~]#sed -i 's#3306#3307#g' /data/3307/mysqld

#赋予执行权限

[root@db1~]#chmod +x /data/3306/mysqld

[root@db1~]#chmod +x /data/3307/mysqld

5.启动mysql

Shell

[root@db1 ~]# /data/3306/mysqld start

[root@db1 ~]# /data/3306/mysqld start

[root@db1 ~]# netstat -tlunp|grep mysql

tcp 0 0 :::3306 :::* LISTEN 13995/mysqld

tcp 0 0 :::3307 :::* LISTEN 13263/mysqld

1

2

3

4

5

[root@db1~]# /data/3306/mysqld start

[root@db1~]# /data/3306/mysqld start

[root@db1~]# netstat -tlunp|grep mysql

tcp00:::3306:::*LISTEN13995/mysqld

tcp00:::3307:::*LISTEN13263/mysqld

6.更改密码

Shell

[root@db1 ~]# mysql -S /data/3306/mysql.sock

mysql> update mysql.user set password=password('123456') where user=root;

[root@db1 ~]# mysql -S /data/3307/mysql.sock

mysql> update mysql.user set password=password('123456') where user=root;

1

2

3

4

[root@db1~]# mysql -S /data/3306/mysql.sock

mysql>updatemysql.usersetpassword=password('123456')whereuser=root;

[root@db1~]# mysql -S /data/3307/mysql.sock

mysql>updatemysql.usersetpassword=password('123456')whereuser=root;

7.测试脚本启动和停止

[root@db1 ~]# /data/3307/mysqld stop

[root@db1 ~]# /data/3306/mysqld stop

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值