zoukankan      html  css  js  c++  java
  • Mysql 8.0.x 多实例部署 Linux运维

    结构如图所示

     1.同版本多实例 :

    3306节点部署请参考mysql 8,0安装部署

    #1.创建相关目录
    mkdir -p /data/3307/data /data/3308/data
    #2.授权
    chown -R mysql.mysql /data/
    #3.编写配置文档
    cp /etc/my.cnf /etc/my3307.cnf
    cp /etc/my.cnf /etc/my3308.cnf
    3307配置档:
    [root@db01 /data20:22:30]# cat /etc/my3307.cnf
    [mysqld]
    user=mysql
    basedir=/usr/local/mysql
    datadir=/data/3307/data
    socket=/tmp/mysql3307.sock
    server_id=52
    port=3307
    3308配置档:
    [root@db01 /data20:23:16]# cat /etc/my3308.cnf
    [mysqld]
    user=mysql
    basedir=/usr/local/mysql
    datadir=/data/3308/data
    socket=/tmp/mysql3308.sock
    server_id=53
    port=3308
    #4.初始化
    mysqld --defaults-file=/etc/my3307.cnf --initialize-insecure
    mysqld --defaults-file=/etc/my3308.cnf --initialize-insecure
    #5.启动mysql(因为是同版本,mysqld已经在3306启动,所以用mysqd_safe,可参考mysql的启动)
    mysqld_safe --defaults-file=/etc/my3307.cnf &
    mysqld_safe --defaults-file=/etc/my3308.cnf &
    #6.登录测试
    mysql -S /tmp/mysql3307.sock
    mysql -S /tmp/mysql3308.sock

    2.不同版本多实例:

    #1.准备相关软件
    上传软件版本/opt目录
    mysql-5.6.50-linux-glibc2.12-x86_64.tar.gz
    mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
    #2.解压
    tar xf mysql-5.6.50-linux-glibc2.12-x86_64.tar.gz
    tar xf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
    #3.做软链接
    [root@db01 /usr/local20:42:21]# ln -s /opt/mysql-5.7.32-linux-glibc2.12-x86_64 /usr/local/mysql57
    [root@db01 /usr/local20:42:38]# ln -s /opt/mysql-5.6.50-linux-glibc2.12-x86_64 /usr/local/mysql56
    #4.创建数据目录及授权
    mkdir -p /data/{3356,3357}/data
    chown -R mysql.mysql /data
    #5.创建配置档
    cat > /etc/my3356.cnf <<EOF
    [mysqld]
    user=mysql
    basedir=/usr/local/mysql56
    datadir=/data/3356/data
    socket=/tmp/mysql3356.sock
    server_id=56
    port=3356
    EOF
    cat > /etc/my3357.cnf <<EOF
    [mysqld]
    user=mysql
    basedir=/usr/local/mysql57
    datadir=/data/3357/data
    socket=/tmp/mysql3357.sock
    server_id=57
    port=3357
    EOF
    #6.初始化
    5.6版本:
    /usr/local/mysql56/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56 --datadir=/data/3356/data

    5.7版本:
    /usr/local/mysql57/bin/mysqld --defaults-file=/etc/my3357.cnf --initialize-insecure

    #7.启动mysql
    /usr/local/mysql57/bin/mysqld_safe --defaults-file=/etc/my3357.cnf &
    /usr/local/mysql56/bin/mysqld_safe --defaults-file=/etc/my3356.cnf &
    #8.登录测试Mysql
    mysql -S /tmp/mysql3356.sock
    mysql -S /tmp/mysql3357.sock

    3.遇到报错处理:

    #mysql 5.7.32版本:
    [ERROR] Can't start server : Bind on unix socket: Address already in use
    [ERROR] Do you already have another mysqld server running on socket: /tmp/mysql3357.sock ?
    [ERROR] Aborting

    [root@db01 /tmp23:05:25]# ll
    -rw-r--r-- 1 root root 0 Nov 20 21:58 mysql3356.sock
    -rw------- 1 mysql mysql 5 Nov 20 22:02 mysql3356.sock.lock
    -rw-r--r-- 1 root root 0 Nov 20 21:58 mysql3357.sock
    -rw------- 1 mysql mysql 5 Nov 20 22:15 mysql3357.sock.lock

    处理方法:
    将占用sock文件删掉,重启
    /usr/local/mysql57/bin/mysqld_safe --defaults-file=/etc/my3357.cnf &

    #mysql 5.6.50版本:
    2021-11-20 23:08:02 8811 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

    先将data目录下的数据全部删掉,重新初始化和启动后测试OK

    Do everything well
  • 相关阅读:
    深入理解redis数据类型
    js获取带#号链接后的参数
    js对象深拷贝与浅拷贝
    VUE + ElementUI 从搭建到运行
    python 输入一个整数,判断其是否既是3的倍数,又是5的倍数
    输入一个三位整数,顺序打印个位、十位、百位上的数
    python 输入三个整数,按照从小到大的顺序打印
    python 运算符与分支结构
    python 变量定义
    python 环境安装
  • 原文地址:https://www.cnblogs.com/linuxmysql/p/15583105.html
Copyright © 2011-2022 走看看