MySQL进行多实例配置再生产环境中非常常见,比如一些高配置数据库服务器,就会跑多个MySQL实例,借助多实例绑定的方式提高服务器的整体资源利用率。另外在MySQL5.7以上版本还不支持多源复制时,当你有多个主时,也可以使用一台服务器开多个MySQL实例做从。

MySQL多实例配置一般有两种方式:

第一种:基于mysqld_multi来实现。mysqld_multi用于管理多个mysqld的服务进程,这些mysqld服务进程程序可以用不同的socket或是监听于不同的端口,同时将数据文件分布到不同的磁盘以分散IO。mysqld_multi提供简单的命令用于启动,关闭和报告所管理的服务器的状态。从而减少生产环境的维护成本,方便后续的迁移和清理等工作。

第二种:使用每一个实例一个配置文件的方式,个人更倾向于使用这种方式。

本文使用第二种方式进行演示MySQL多实例配置

1)解压安装MySQL

$ tar xvf mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

$ cd /usr/local/

$ ln -sv mysql-5.6.27-linux-glibc2.5-x86_64 mysql

$ cd

1

2

3

4

$tarxvfmysql-5.6.27-linux-glibc2.5-x86_64.tar.gz-C/usr/local/

$cd/usr/local/

$ln-svmysql-5.6.27-linux-glibc2.5-x86_64mysql

$cd

2)创建用户调整权限

$ groupadd -g 3306 mysql

$ useradd -u 3306 -g mysql -s /sbin/nologin -M mysql

$ chown -R mysql.mysql /usr/local/mysql

1

2

3

$groupadd-g3306mysql

$useradd-u3306-gmysql-s/sbin/nologin-Mmysql

$chown-Rmysql.mysql/usr/local/mysql

3)创建多实例相关目录

$ mkdir -pv /data/mysql_3306

$ mkdir -pv /data/mysql_3307

$ mkdir -pv /data/mysql_3306/{data,log}

$ mkdir -pv /data/mysql_3307/{data,log}

1

2

3

4

$mkdir-pv/data/mysql_3306

$mkdir-pv/data/mysql_3307

$mkdir-pv/data/mysql_3306/{data,log}

$mkdir-pv/data/mysql_3307/{data,log}

$ chown -R mysql.mysql /data

1

$chown-Rmysql.mysql/data

4)初始化多个实例

$ /usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysql_3306/data --user=mysql

$ /usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysql_3307/data --user=mysql

1

2

$/usr/local/mysql/scripts/mysql_install_db--datadir=/data/mysql_3306/data--user=mysql

$/usr/local/mysql/scripts/mysql_install_db--datadir=/data/mysql_3307/data--user=mysql

查看各实例初始化文件

$ ls /data/mysql_3306/data/

auto.cnf ibdata1 ib_logfile1 mysql performance_schema test ib_logfile0

$ ls /data/mysql_3307/data/

auto.cnf ibdata1 ib_logfile1 mysql performance_schema test ib_logfile0

1

2

3

4

5

$ls/data/mysql_3306/data/

auto.cnfibdata1ib_logfile1mysqlperformance_schematestib_logfile0

$ls/data/mysql_3307/data/

auto.cnfibdata1ib_logfile1mysqlperformance_schematestib_logfile0

5)输出执行文件

$ vim /etc/profile.d/mysql.sh

export PATH=$PATH:/usr/local/mysql/bin

$ source /etc/profile.d/mysql.sh

1

2

3

$vim/etc/profile.d/mysql.sh

exportPATH=$PATH:/usr/local/mysql/bin

$source/etc/profile.d/mysql.sh

6)添加服务器脚本

$ cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

$ chmod +x /etc/init.d/mysqld

$ chkconfig --add mysqld

$ chkconfig mysqld on

1

2

3

4

$cp/usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld

$chmod+x/etc/init.d/mysqld

$chkconfig--addmysqld

$chkconfigmysqldon

7)添加配置文件

$ /etc/my3306.cnf

[client]

user=root

port=3306

socket=/tmp/mysql.sock

[mysqld]

user=mysql

basedir = /usr/local/mysql

datadir=/data/mysql_3306/data

pid-file=/data/mysql_3306/data/mysql_3306.pid

port=3306

server_id=3306

socket=/tmp/mysql_3306.sock

character_set_server = utf8

skip_name_resolve = 1

max_connections = 800

max_connect_errors = 1000

max_allowed_packet = 16777216

log-error = /data/mysql_3306/log/error.log

binlog_format = mixed

expire_logs_days = 30

log-bin = /data/mysql_3306/log/mysql-bin.log

log-bin-index = /data/mysql_3306/log/mysql-bin.index

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

[client]

user=root

port=3306

socket=/tmp/mysql.sock

[mysqld]

user=mysql

basedir=/usr/local/mysql

datadir=/data/mysql_3306/data

pid-file=/data/mysql_3306/data/mysql_3306.pid

port=3306

server_id=3306

socket=/tmp/mysql_3306.sock

character_set_server=utf8

skip_name_resolve=1

max_connections=800

max_connect_errors=1000

max_allowed_packet=16777216

log-error=/data/mysql_3306/log/error.log

binlog_format=mixed

expire_logs_days=30

log-bin=/data/mysql_3306/log/mysql-bin.log

log-bin-index=/data/mysql_3306/log/mysql-bin.index

$ cat /etc/my3307.cnf

[client]

root=root

port=3307

socket=/tmp/mysql.sock

[mysqld]

user=mysql

basedir = /usr/local/mysql

datadir=/data/mysql_3307/data

pid-file=/data/mysql_3307/data/mysql_3307.pid

port=3307

server_id=3307

socket=/tmp/mysql_3307.sock

character_set_server = utf8

skip_name_resolve = 1

max_connections = 800

max_connect_errors = 1000

max_allowed_packet = 16777216

log-error = /data/mysql_3307/log/error.log

binlog_format = mixed

expire_logs_days = 30

log-bin = /data/mysql_3307/log/mysql-bin.log

log-bin-index = /data/mysql_3307/log/mysql-bin.index

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

[client]

root=root

port=3307

socket=/tmp/mysql.sock

[mysqld]

user=mysql

basedir=/usr/local/mysql

datadir=/data/mysql_3307/data

pid-file=/data/mysql_3307/data/mysql_3307.pid

port=3307

server_id=3307

socket=/tmp/mysql_3307.sock

character_set_server=utf8

skip_name_resolve=1

max_connections=800

max_connect_errors=1000

max_allowed_packet=16777216

log-error=/data/mysql_3307/log/error.log

binlog_format=mixed

expire_logs_days=30

log-bin=/data/mysql_3307/log/mysql-bin.log

log-bin-index=/data/mysql_3307/log/mysql-bin.index

8)启动MySQL实例

$ mysqld_safe --defaults-file=/etc/my3306.cnf &

$ mysqld_safe --defaults-file=/etc/my3307.cnf &

1

2

$mysqld_safe--defaults-file=/etc/my3306.cnf&

$mysqld_safe--defaults-file=/etc/my3307.cnf&

查看监控端口

$ netstat -anplt | grep mysql

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

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

1

2

3

$netstat-anplt|grepmysql

tcp00:::3306:::*LISTEN44281/mysqld

tcp00:::3307:::*LISTEN44725/mysqld

连接各个实例

$ mysql -S /tmp/mysql_3306.sock

mysql>

$ mysql -S /tmp/mysql_3307.sock

mysql>

1

2

3

4

5

$mysql-S/tmp/mysql_3306.sock

mysql>

$mysql-S/tmp/mysql_3307.sock

mysql>

MySQL多实例已经配置完成,在启动过程中,最好使用supervisor等进程管理工具来管理。

如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。

mysql多实例安装配置_MySQL多实例安装配置相关推荐

  1. mysql服务实例配置_MySQL多实例配置(一)

    MySQL数据库的集中化运维,能够通过在一台MySQL数据库服务器上,部署多个MySQL实例.该功能是通过mysqld_multi来实现.mysqld_multi用于管理多个mysqld的服务进程,这 ...

  2. mysql单实例多数据库_Mysql单实例数据库的安装

    一.硬件环境: Dell PowerEdge R710 Inter E5620 2.4GHz 3*300GB SAS热插拔硬盘 4GB*8 内存 二.软件环境 Centos 5.8 三.安装mysql ...

  3. mysql的配置文件几个_mysql多实例(多个配置文件方式)

    1)简介mysql 版本:mysql-5.5.27cmake:cmake-2.8.8操作系统:CentOS6.5mysql实例数:3个实例占用端口分别为:3306.3307.33082)本次安装所有的 ...

  4. linux mysql 实例详解_MySQL 多实例详解

    目录 一.基本概念 1.MySQL多实例 就是在一台机器上面开启多个不同的端口,运行多个MySQL服务进程.这些MySQL多实例公用一套安装程序,使用不同的(也可以是相同的)配置文件,启动程序,数据文 ...

  5. mysql安装教程_mysql 5.5 安装配置方法图文教程

    回忆一下mysql 5.5 安装配置方法,整理mysql 5.5 安装配置教程笔记,分享给大家. 1.首先进入的是安装引导界面 2.然后进入的是类型选择界面,这里有3个类型:Typical(典型).C ...

  6. mysql 5.5.安装包_Mysql的详细安装教程!亲测可用!!!

    不看后悔系列!!! 这篇文章是为初学数据库的人写的,篇幅过长,你不妨先收藏一下,等有时间在来细细阅读.(不过,我听说,只收藏不点赞,不容易找到另一半哦!) 言归正传,这篇文章我们通过以下三个步骤组成: ...

  7. mysql ver 14.14下载_MySQL简介及安装 mysql Ver 14.14 Distrib 5.7.28

    1.MySQL简介 1.数据库产品演变 第一代数据库架构: RDBMS 关系型数据库时代 : 合的时代 代表产品 :Oracle .MSSQL .MySQL.SQL server 第二代数据库架构:拆 ...

  8. ubuntu mysql主从配置_MYSQL 主从数据库的配置 ubuntu 12.04

    环境: 主服务器:centos 5.2 mysql 5.1.35  IP:192.168.1.22 从服务器:centos 5.2 mysql 5.1.35  IP:192.168.1.33 配置: ...

  9. mysql重装时没有权限_MySQL系列--1.安装卸载与用户权限管理

    MySQL安装 1.Ubuntu18下安装MySQL sudo apt-get install mysql-server MySQL的版本为5.7.25 2.登录MySQL 采用mysql-serve ...

最新文章

  1. Git常用命令和Github协同流程
  2. iOS开发-面试总结(十四)
  3. windows nssm将应用程序做成服务的实例
  4. outlook的插件管理(Web界面)
  5. 应用程序框架实战十八:DDD分层架构之聚合
  6. 集成服务入门(实验7)数据流的目标
  7. 推荐一个插件: The Great Suspender,大大减少chrome浏览器内存占用量
  8. Mysql最常用的十大函数
  9. 越南大老二,游戏规则说明
  10. git pull更新不到最新代码
  11. 机器人设计的步骤有哪些
  12. BME相关SCI期刊
  13. YOLOV5训练自己的数据集(踩坑经验之谈)
  14. 基于Android的3G手机网络摄像机客户端软件设计
  15. Android开发者网址大全(不定期更新)
  16. “第三方支付”盈利模式
  17. 大学计算机基础复习资料(第一章)
  18. 微信小程序(看文档写实例五)微信小程序课堂宝APP实现获取签到列表
  19. 信息系统监理师题库_软考信息系统监理师模拟考试试题加答案(一)
  20. 《软件测试》[(美)Ron Patton]第十二章阅读总结

热门文章

  1. RocketMQ 消息丢失场景及解决办法
  2. 他凭什么年薪35W,如何抓住2018年大数据AI浪潮?
  3. linux按进程分配物理内存,linux下内存管理学习心得(一)
  4. mysql ora01031_ORA-01031:insufficient privileges解决方法
  5. linux mysql 事务_linux下mysql Insert update delete 事务 用户管理
  6. Linux入门和运维
  7. 帝国cms二次开发之文件夹的功能说明
  8. c++ 绕点旋转坐标 实例
  9. 吸烟检测 yolov5开源推荐
  10. Unable to get repr for<class‘torch.Tensor‘>