zoukankan      html  css  js  c++  java
  • (0.2.7)Mysql安装——多实例安装

    环境:

      centos7 + mysql5.7.26

    【1】查看依赖包

      rpm -qa|grep libaio  #查看libaio 依赖包

        

      如果没出现上图,则运行下面语句,安装依赖包

      yum -y install autoconf libaio bison ncurses-devel   #如果没有出现上图,则安装(一般centos7有自带)

    【2】查看默认数据库(根据版本不同)

      centos7默认会装mariadb数据库,6则是默认装Mysql数据库。

        rpm -qa|grep mariadb #centos7

        rpm -qa|grep mysql #centos6

          

       如果出现了上图,则运行下列语句,卸载自带的 mariadb。

        rpm -e --nodeps  mariadb-libs-5.5.60-1.el7_5.x86_64  #用这个方式以此删除所有的,如有依赖报错可能需要先删除另外一个  

      建议的删除方式:

        yum -y remove mariadb*

    【3】系统方面的一些准备工作

      systemctl stop firewalld  #关闭防火墙

      systemctl disable firewalld  #禁止防火墙开机启动

      getenforce  #查看selinux状态

      vim /etc/selinux/config  #设置开机关闭selinux

        

     【4】构造mysql用户、群组、目录、权限

      【4.1】构造用户与群组

    groupadd mysql
    useradd -g mysql -s /sbin/nologin mysql    #创建Mysql用户,但不允许其远程实际登陆到系统

      【4.2】构造目录 

    mkdir -p /data/mysql/{mysql_3306,mysql_3307}
    mkdir /data/mysql/mysql_3306/{data,log,tmp}
    mkdir /data/mysql/mysql_3307/{data,log,tmp}

      【4.3】修改mysql相关目录权限给mysql用户

    chown -R mysql:mysql /data
    chmod -R 755 /data

    【5】复制解压二进制文件到  

    【5.1】上传到 /data/mysql 目录

      cd /data/mysql

      然后上传文件,或者wget下载文件。

      结果如下图

        

     【5.2】解压mysql二进制包,设置环境变量

    tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
    ln -s mysql-5.7.26-linux-glibc2.12-x86_64 mysql_basedir #原名称太长了,建个软连接
    echo "export PATH=${PATH}:/data/mysql/mysql_basedir/bin">>/etc/profile #设置环境变量
    source /etc/profile

    【6】配置my.cnf文件

    cd /data/mysql

    vim my.cnf

    [client]
    port=3306
    socket=/tmp/mysql.sock
    
    [mysqld_multi]
    mysqld = /data/mysql/mysql_basedir/bin/mysqld_safe
    mysqladmin = /data/mysql/mysql_basedir/bin/mysqladmin
    log = /data/mysql/mysqld_multi.log
    
    [mysqld]
    user=mysql
    basedir = /data/mysql/mysql_basedir
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    
    [mysqld3306]
    
    datadir=/data/mysql/mysql_3306/data #多实例中必须不同
    port=3306  #多实例中必须不同
    server_id=3306  #多实例中如果复制必须要不同
    socket=/tmp/mysql_3306.sock  #多实例中必须不同
    log-output=file
    slow_query_log = 1
    long_query_time = 1
    slow_query_log_file = /data/mysql/mysql_3306/log/slow.log
    log-error = /data/mysql/mysql_3306/log/error.log
    binlog_format = mixed
    log-bin = /data/mysql/mysql_3306/log/mysql3306_bin
    
    [mysqld3307]
    #下列4行参数,多实例中必须不同
    datadir=/data/mysql/mysql_3307/data
    port=3307
    server_id=3307
    socket=/tmp/mysql_3307.sock
    log-output=file
    slow_query_log = 1
    long_query_time = 1
    slow_query_log_file = /data/mysql/mysql_3307/log/slow.log
    log-error = /data/mysql/mysql_3307/log/error.log
    binlog_format = mixed
    log-bin = /data/mysql/mysql_3307/log/mysql3307_bin
    ln -s /data/mysql/my.cnf /etc/my.cnf
    chown -R mysql:mysql /data
    chmod -R 755 /data
    chown  mysql:mysql /etc/my.cnf
    chmod -R 755 /etc/my.cnf

    【7】初始化多实例


    #初始化多实例
    mysqld --defaults-file=/data/mysql/my.cnf  --initialize --basedir=/data/mysql/mysql_basedir --user=mysql --datadir=/data/mysql/mysql_3306/data
    mysqld --defaults-file=/data/mysql/my.cnf  --initialize --basedir=/data/mysql/mysql_basedir --user=mysql --datadir=/data/mysql/mysql_3307/data

    #2个目录均如下图,就是成功了
      

     【8】mysqld_multi进行多实例管理

    #mysqld_multi 基本常用操作

    启动全部实例:
    /usr/local/mysql/bin/mysqld_multi start 查看全部实例状态:/usr/local/mysql/bin/mysqld_multi report 启动单个实例:/usr/local/mysql/bin/mysqld_multi start 3306 停止单个实例:/usr/local/mysql/bin/mysqld_multi stop 3306 查看单个实例状态:/usr/local/mysql/bin/mysqld_multi report 3306
    停止全部实例:/usr/local/mysql/bin/mysqld_multi stop # 需要在my.cnf中,统一配置好 [client]然后把user=root 换行 password=123456 账户信息输入进去。否则会出现登录失败
    #检查端口监听
    netstat -an|grep mysql
    #启动全部实例 [root@mysql ~]# /usr/local/mysql/bin/mysqld_multi start [root@mysql ~]# /usr/local/mysql/bin/mysqld_multi report Reporting MySQL servers MySQL server from group: mysqld3306 is running MySQL server from group: mysqld3307 is running

    #连接mysql
    mysql -uroot -p -P3306 -S /tmp/mysql_3306.sock
    mysql -uroot -p -P3307 -S /tmp/mysql_3307.sock

    #关闭实例
    mysqladmin -uroot -p -S /tmp/mysql_3306.sock -P3306 shutdown
    mysqladmin -uroot -p -S /tmp/mysql_3307.sock -P3307 shutdown
     

    参考:https://www.cnblogs.com/jpfss/p/8144630.html

    参考:https://www.cnblogs.com/xuchenliang/p/6843990.html

  • 相关阅读:
    Wireshark抓包工具使用教程以及常用抓包规则
    linux自带抓包工具tcpdump使用说明
    利用mmap /dev/mem 读写Linux内存
    使用mii-tool设置网卡速率
    LINUX命令之ETHTOOL用法详解
    ethtool 在 Linux 中的实现框架和应用
    IDEA 上传更新的代码到码云上
    如何选择开源许可证
    IDEA 安装完码云插件,运行报“Cannot run program "xxx":CreateProcess error=2,系统找不到指定的文件”
    beans.factory.BeanCreationException beans.factory.annotation.Autowired(required=true)
  • 原文地址:https://www.cnblogs.com/gered/p/10359291.html
Copyright © 2011-2022 走看看