centos7 mysql 多实例_centos7 安装mysql 5.7多实例

一、 Mysql多实例即一台服务器上运行多个Mysql服务进程 ,开启不同的服务端口,通过不同的socket 监听不同的服务端口来提供各自的服务。

二、 Mysql多例有以下几个特点:

1、  有效利用服务器资源:通过多实例地配置,可以将服务器剩余的资源充分利用起来。

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

3、  节约资源。

三、 安装前准备

1、  服务器版本:CentOS 7

2、  将/etc/selinux/config里的SELINUX设置成:disabled

3、  下载mysql: https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

四、 安装与配置mysql多例

1、  解压mysql

a、解压mysq:tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

b、移动mysql:sudo mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql

2、  创建mysql实例用户及文件

a、sudo useradd mysql -r -s /sbin/nologin

b、sudo mkdir -p /usr/local/mysql/mysql_files          //数据导入导出目录

c、 创建多实例数据目录:sudo mkdir -p /data/mysql_data{1..3}

d、   修改mysql目录的属组及用户:sudo chown root.mysql -R /usr/local/mysql

e、   修改专用目录的属主及属组:sudo chown mysql.mysql -R /usr/local/mysql/mysql_files  /data/mysql_data{1..3}

3、  配置Mysql的配置文件/etc/my.cnf,内容如下:

[mysqld_multi]

mysqld = /usr/local/mysql/bin/mysqld

mysqladmin = /usr/local/mysql/bin/mysqladmin

log = /tmp/mysql_multi.log

[mysqld1]

datadir = /data/mysql_data1       //设置数据目录

socket = /tmp/mysql.sock1         //设置sock文件存放路径

port = 3306                      //设置监听开放端口

user = mysql                           //设置运行用户

performance_schema = off          //关闭监控

innodb_buffer_pool_size = 32M         //设置innodb 缓存大小

bind_address = 0.0.0.0                  //设置监听IP地址

skip-name-resolve = 0                 //关闭DNS反向解析

[mysqld2]

datadir = /data/mysql_data2

socket = /tmp/mysql.sock2

port = 3307

user = mysql

performance_schema = off

innodb_buffer_pool_size = 32M

bind_address = 0.0.0.0

skip-name-resolve = 0

[mysqld3]

datadir = /data/mysql_data3

socket = /tmp/mysql.sock3

port = 3308

user = mysql

performance_schema = off

innodb_buffer_pool_size = 32M

bind_address = 0.0.0.0

skip-name-resolve = 0

4、  初始化各个实例:初始化完后会在日志中生成密码,记得保存,一会要用。

a、sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data1

b、   /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data2

c、 /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data3

be06783aedbe20239fd7245078b9802e.png

5、  开启各实例的SSL连接

a、sudo /usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data1

b、   sudo /usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data2

c、 sudo /usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data3

785f76d88af77ffe1e57dbe8cd43ce49.png

6、  复制多实例脚本到服务管理目录下

a、sudo cp /usr/local/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multi

7、  给予脚本可执行权限:sudo chmod +x /etc/init.d/mysqld_multi

8、  加入service服务管理: sudo chkconfig –add mysqld_multi

9、  添加环境变量

a、在文件最后面添加内容:sudo vim /etc/profile

## SETUP MYSQL’S PATH

export MYSQL_HOME=/usr/local/mysql

export PATH=${MYSQL_HOME}/bin:$PATH

b、   使修改的配置文件生效:source /etc/profile

五、 测试实例

1、  查看多个实例状态:mysqld_multi report

4da41e84a1a0faca58523bf9256ccc21.png

2、  启动各个实例 : sudo mysqld_multi start

3、  查看实例的监听端口:sudo ss -tulpn|grep mysqld

0c7f3a9bb6b3e41e5336e3e53386e8be.png

4、  连接实例1:

a、sudo mysql -S /tmp/mysql.sock1 -p’ Akgl?lkJl8l2’

b、   进去后修改root密码: set password=123456;

c、 使修改生效:flush privileges;

503dfd099403bfac67c7e93da66974b4.png

5、  另外两个实例的操作方法与实例1一致,不再赘述。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值