zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    arcgis api 3.x for js 入门开发系列八聚合效果(附源码下载)
    arcgis api 3.x for js 入门开发系列七图层控制(附源码下载)
    arcgis api 3.x for js 入门开发系列六地图分屏对比(附源码下载)
    arcgis api 3.x for js 入门开发系列五地图态势标绘(附源码下载)
    arcgis api 3.x for js 入门开发系列四地图查询(附源码下载)
    Java里面获取当前服务器的IP地址
    Flutter at Google I/O 2018
    Modbus RTU 协议使用汇总
    plsql 创建表空间、用户、赋予权限
    Oracle:ODP.NET Managed 小试牛刀
  • 原文地址:https://www.cnblogs.com/uphold/p/11221179.html
Copyright © 2011-2022 走看看