• 欢迎访问DBA的辛酸事儿,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 欢迎大家关注博主公众号:DBA的辛酸事儿
  • 博文中若有错误的地方,请大家指正,大家的指正是我前进的动力

MYSQL 5.6 多实例环境部署

MySQL SEian.G 5年前 (2019-01-20) 1574次浏览 已收录 0个评论

一、MySQL多实例介绍

1.1 什么是MySQL多实例

MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务:;

1.2 MySQL多实例的特点有以下几点

(1)有效利用服务器资源,当单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务。

(2)节约服务器资源

(3)资源互相抢占问题,当某个服务实例服务并发很高时或者开启慢查询时,会消耗更多的内存、CPU、磁盘IO资源,导致服务器上的其他实例提供服务的质量下降;

1.3 部署mysql多实例的两种方式

第一种是使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便;

第二种是通过官方自带的mysqld_multi使用单独的配置文件来实现多实例,这种方式定制每个实例的配置不太方面,优点是管理起来很方便,集中管理;

说明:本文的多实例安装方式是采用的第二种方式,针对于第一种方式,和单实例安装基础是没有区别;

1.4 同一开发环境下安装两个数据库,必须处理以下问题

(1)配置文件安装路径不能相同

(2)数据库目录不能相同

(3)启动脚本不能同名

(4)端口不能相同

(5)socket文件的生成路径不能相同

二、MySQL所实例安装部署

1、在/usr/local/mysql解压免编译的二进制包

[root@VM_2_13_centos mysql]# pwd
/usr/local/mysql

[root@VM_2_13_centos mysql]# ll
total 309288
drwxr-xr-x  2 root  root       4096 Mar 28 18:09 bin
-rw-r--r--  1 root  root      17987 Mar 28 18:09 COPYING
drwxr-xr-x  3 root  root       4096 Mar 28 18:09 data
drwxr-xr-x  2 root  root       4096 Mar 28 18:09 docs
drwxr-xr-x  3 root  root       4096 Mar 28 18:09 include
drwxr-xr-x  3 root  root       4096 Mar 28 18:09 lib
drwxr-xr-x  4 root  root       4096 Mar 28 18:09 man
drwxr-xr-x 13 mysql mysql      4096 Mar 28 17:57 mysql-5.6.36-linux-glibc2.5-x86_64
-rw-r--r--  1 mysql mysql 316320366 Mar 28 17:54 mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
drwxr-xr-x 10 root  root       4096 Mar 28 18:09 mysql-test
-rw-r--r--  1 root  root       2496 Mar 28 18:09 README
drwxr-xr-x  2 root  root       4096 Mar 28 18:09 scripts
drwxr-xr-x 28 root  root       4096 Mar 28 18:09 share
drwxr-xr-x  4 root  root       4096 Mar 28 18:09 sql-bench
drwxr-xr-x  2 root  root       4096 Mar 28 18:09 support-files

2、创建mysql组和mysql用户

[root@VM_2_13_centos mysql]# groupadd -g 500 mysql
[root@VM_2_13_centos mysql]# useradd -u 501 -g mysql mysql
[root@VM_2_13_centos mysql]# id mysql
uid=501(mysql) gid=500(mysql) groups=500(mysql)

3、创建相关目录

[root@VM_2_13_centos mysql]# mkdir -p /data/mysql/{mysql_3306,mysql_3307}
[root@VM_2_13_centos mysql]# mkdir /data/mysql/mysql_3306/{data,log,tmp}
[root@VM_2_13_centos mysql]# mkdir /data/mysql/mysql_3307/{data,log,tmp}

4、修改目录相关权限

[root@VM_2_13_centos mysql]# chown -R mysql:mysql /data/mysql/
[root@VM_2_13_centos mysql]# chown -R mysql:mysql /usr/local/mysql/

5、添加环境变量

[root@VM_2_13_centos mysql]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >>  /etc/profile
[root@VM_2_13_centos mysql]# source /etc/profile

6、复制my.cnf到/etc目录下

[root@VM_2_13_centos mysql]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

7、修改my.cnf文件

[root@VM_2_13_centos mysql]# vim /etc/my.cnf
[client]
port=3306
socket=/tmp/mysql.sock
 
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe 
mysqladmin = /usr/local/mysql/bin/mysqladmin 
log = /data/mysql/mysqld_multi.log
 
[mysqld]
user=mysql
basedir = /usr/local/mysql
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 
[mysqld3306]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/data/mysql/mysql_3306/data
port=3306
server_id=3306
socket=/tmp/mysql_3306.sock
log-output=file
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/mysql_3306/log/slow.log
log-error = /data/mysql/mysql_3306/log/error.log
binlog_format = mixed
log-bin = /data/mysql/mysql_3306/log/mysql3306.bin

[mysqld3307]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/data/mysql/mysql_3307/data
port=3307
server_id=3307
socket=/tmp/mysql_3307.sock
log-output=file
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/mysql_3307/log/slow.log
log-error = /data/mysql/mysql_3307/log/error.log
binlog_format = mixed
log-bin = /data/mysql/mysql_3307/log/mysql3307_bin

8、初始化3306的数据库

[root@VM_2_13_centos mysql]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3306/data --defaults-file=/etc/my.cnf
FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:
Data::Dumper

在初始化的时候出现上面的报错信息:报错原因缺少autoconf的依赖包

[root@VM_2_13_centos mysql]# yum install autoconf

9、再次初始化3306数据库

[root@VM_2_13_centos ~]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3306/data --defaults-file=/etc/my.cnf

10、初始化3307数据库

[root@VM_2_13_centos ~]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3307/data --defaults-file=/etc/my.cnf

11、查看数据库是否初始化成功

端口为3306数据库

[root@VM_2_13_centos ~]# ll /data/mysql/mysql_3306/data/
-rw-rw---- 1 mysql mysql       56 Mar 28 18:45 auto.cnf
-rw-rw---- 1 mysql mysql 12582912 Mar 29 16:07 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Mar 29 16:07 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Mar 28 18:24 ib_logfile1
drwx------ 2 mysql mysql     4096 Mar 28 18:25 mysql
drwx------ 2 mysql mysql     4096 Mar 28 18:24 performance_schema
drwx------ 2 mysql mysql     4096 Mar 28 18:19 test

端口为3307数据库

[root@VM_2_13_centos ~]# ll /data/mysql/mysql_3307/data/
-rw-rw---- 1 mysql mysql       56 Mar 28 18:29 auto.cnf
-rw-rw---- 1 mysql mysql 12582912 Mar 29 11:38 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Mar 29 11:38 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Mar 28 18:26 ib_logfile1
drwx------ 2 mysql mysql     4096 Mar 28 18:26 mysql
drwx------ 2 mysql mysql     4096 Mar 28 18:26 performance_schema
drwx------ 2 mysql mysql     4096 Mar 28 18:26 test

12、设置启动文件

[root@VM_2_13_centos ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

14、启动全部实例

[root@VM_2_13_centos ~]# /usr/local/mysql/bin/mysqld_multi start
[root@VM_2_13_centos ~]# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld3306 is running
MySQL server from group: mysqld3307 is running

15、mysqld_multi进行多实例管理

启动全部实例:/usr/local/mysql/bin/mysqld_multi start
查看全部实例状态:/usr/local/mysql/bin/mysqld_multi report
启动单个实例:/usr/local/mysql/bin/mysqld_multi start 3306
停止单个实例:/usr/local/mysql/bin/mysqld_multi stop 3306
查看单个实例状态:/usr/local/mysql/bin/mysqld_multi report 3306

至此,MySQL 5.6版本的多实例安装全部就安装完成了;

MYSQL 5.6 多实例环境部署


如果您觉得本站对你有帮助,那么可以收藏和推荐本站,帮助本站更好地发展,在此谢过各位网友的支持。
转载请注明原文链接:MYSQL 5.6 多实例环境部署
喜欢 (4)
SEian.G
关于作者:
用心去记录工作,用心去感受生活,用心去学着成长;座右铭:苦练七十二变,笑对八十一难
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址