mysql多实例安装

MySQL多实例介绍及MySQL多实例的特点

1、什么是MySQL多实例?

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

2、MySQL多实例的特点有以下几点:

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

   2)、节约服务器资源

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

二,MySQL多实例的安装配置

系统环境:centos 6.9 64 

内核版本: 2.6.32-696.el6.x86_64

mysql版本:5.7.16

程序目录: /usr/local/mysql

# mkdir /usr/local/mysql

实例系统文件目录: /usr/local/mysql/dbsxxxx

# mkdir -p /usr/local/mysql/{dbs3007,dbs3008}

实例数据文件目录:  /data/mysql/dataxxxx

# mkdir -p /data/mysql/{data3007,data3008}

1、首先创建mysql用户和组:

# groupadd mysql

# useradd -s /sbin/nologin -g mysql -M mysql

2、下载MySQL源码包并解压安装

# cd /usr/local/src/         约定以后安装软件就下载到这里使用

# wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar

# yum search libaio mysqllibiao库有依赖,查询如果没有安装则进行安装。

# yum install -y libaio libiao库进行安装。

# tar -xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar 这里解tar包后发现有两个包:mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz mysql-test-5.7.17-linux-glibc2.5-x86_64.tar.gz,我使用mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz这个包。

# tar zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 解包

# cp -R mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql 将文件复制到程序目录下

3、创建MySQL多实例配置文件

# cp /usr/local/mysql/support-files/my-default.cnf /usr/local/mysql/dbs3007/my3007.cnf

# cp /usr/local/mysql/support-files/my-default.cnf /usr/local/mysql/dbs3008/my3008.cnf

# vim /usr/local/mysql/dbs3007/my3007.cnf     my3008.cnf也相同方法加入如下行

[mysqld]

socket = /tmp/mysql3007.sock

port = 3007

pid-file = /data/mysql/data3007/mysql3007.pid

datadir = /data/mysql/data3007

basedir = /usr/local/mysql/dbs3007

user = mysql

server-id=3007

[client]

port = 3007

socket = /tmp/mysql3007.sock

[mysql]

no-auto-rehash

socket = /tmp/mysql3007.sock

prompt=\\u@\\h[\\d]> \\

4、改变目录和文件属组及属主

# chown -R mysql:mysql /usr/local/mysql/

# chown -R mysql:mysql /data/mysql/

5初始化MySQL数据目录并添加mysql命令道全局路径

#  echo 'export PATH=$PATH:/usr/local/mysql/bin/' >> /etc/profile

# source /etc/profile

# mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.17-linux-glibc2.5-x86_64/ --datadir=/data/mysql/data3006/

HJ7pwBX(6??P

# mysqld --initialize --user=mysql --basedir=/usr/local/mysql/dbs3007 --datadir=/data/mysql/data3007/ 初始化实例3007

记录初始密码 t4-h1ULfDrrd

# mysqld --initialize --user=mysql --basedir=/usr/local/mysql/dbs3008 --datadir=/data/mysql/data3008/ 初始化实例3008

记录初始密码 Fu*=QeSK#8c!

6、启动、连接、关闭多实例

# mysqld_safe --defaults-file=/usr/local/mysql/dbs3007/my3007.cnf & 启动对应实例

# mysql -uroot -pt4-h1ULfDrrd -S /tmp/mysql3007.sock 套接字方式连接

mysql> set password = password('3007passwd'); 登录第一步必须先修改密码,否则会影响使用

# mysql -uroot -p3007passwd -P3007 --protocol=tcp     tcp方式连接

# mysql -h127.0.0.1 -uroot -p3007passwd -P3007

# mysqladmin -uroot -P3007 -p3007passwd -S /tmp/mysql3007.sock shutdown 关闭实例

# mysqladmin -h127.0.0.1 -P3007 -p3007passwd shutdown

(以上操作使用了明显密码,实例操作中避免此类事情)

3008实例用相同方法操作将密码改为 3008passwd

 

posted on 2019-07-21 14:43  凌乱的运维  阅读(1868)  评论(1编辑  收藏  举报

导航