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

  • 相关阅读:
    weibo4j中的 jar解释
    Android使用系统Intent实现分享功能及将应用加入分享列表++分享邮箱实现
    Android ListView 技巧 (一) Android ListView Header
    [Android]使用AChartEngine画柱状图 .
    【TCPIP】握手挥手详解
    python : import this. 如此幽默,让人不得不爱
    Forbidden (403) CSRF verification failed. Request aborted.
    Django修改model如何同步数据库
    程序员的7种武器【转】
    Django Admin 录入中文错误解决办法
  • 原文地址:https://www.cnblogs.com/uphold/p/11221179.html
Copyright © 2011-2022 走看看