精华内容
下载资源
问答
  • 脚本安装mysql

    2017-11-08 22:02:00
    #注意,本脚本在redhat5.0以后版本或者centos5.0以后版本,运行,需要先安装开发工具和开发库软件组。 #!/bin/bash cd useradd mysql wgethttp://122.225.32.131/icons/mysql-5.0.22.tar.gz tar -zxvf mysql-5.0.22....
    #注意,本脚本在redhat5.0以后版本或者centos5.0以后版本,运行,需要先安装开发工具和开发库软件组。
    #!/bin/bash
    cd
    useradd mysql
    wget    http://122.225.32.131/icons/mysql-5.0.22.tar.gz
    tar -zxvf mysql-5.0.22.tar.gz
    cd      mysql-5.0.22
    mkdir   /usr/local/mysql
    ./configure     \
    --prefix=/usr/local/mysql       \
    --without-debug \
    --enable-thread-safe-client \
    --enable-assembler \
    --enable-profiling \
    --with-mysqld-ldflags=-all-static \
    --with-client-ldflags=-all-static \
    --with-charset=latin1 \
    --with-extra-charsets=all  \
    --with-big-tables       \
    --enable-largefile      \
    make && make install
    cd /etc
    rm -f my.cnf
    wget http://122.225.32.131/icons/my.cnf
    cd /usr/local/mysql/bin
    ./mysql_install_db --user=mysql
    ./mysqld_safe   --user=mysql    &
    cp /root/mysql-5.0.22/support-files/mysql.server  /etc/rc.d/init.d/mysqld
    chkconfig --add mysqld
    chkconfig --level 345 mysqld on
    sleep 3
    mysql -uroot mysql -e "delete from user where user = '';"




    本文转自 fenghao.cn 51CTO博客,原文链接:http://blog.51cto.com/linuxguest/309088,如需转载请自行联系原作者
    展开全文
  • Linux环境使用Shell脚本安装Mysql5.7

    千次阅读 2019-11-19 00:27:46
    之前写过使用shell脚本安装Mysql5.6版本,闲暇之余研究了下mysql5.7与5.6安装的区别,写下Mysql5.7的shell运维脚本,供大家参考。(Linux环境使用Shell脚本安装Mysql5.6:...

    1. 前言

            之前写过使用shell脚本安装Mysql5.6版本,闲暇之余研究了下mysql5.7与5.6安装的区别,写下Mysql5.7的shell运维脚本,供大家参考。(Linux环境使用Shell脚本安装Mysql5.6:https://blog.csdn.net/u011294519/article/details/89004581

    2.Mysql5.6与5.7的安装区别

    • Mysql5.7的安装是使用/bin/mysqld,Mysql5.6是使用/scripts/mysql_install_db
    • Mysql5.7没有默认的配置文件my-default.cnf,Mysql5.6在/support-files目录下有my-default.cnf,可以作为my.cnf文件模板
    • Mysql5.7安装完成后首次本机登录不能使用127.0.0.1,必须使用localhost,Mysql5.6则可以使用127.0.0.1

    3. 准备工作

            到Mysql官网或者到华为软件仓库去下载Mysql安装包

            官网链接:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

            有32位和64位的区分 ,根据需要下载

            华为软件仓库:https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-5.7/

            我下载的版本是mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

            下载好安装包后拷贝到Linux服务器的任意位置上

            检查机器上是否安装autoconf,执行命令:rpm -qa|grep autoconf

            若无如上输出,则执行命令安装:yum -y install autoconf

    4. 配置脚本

            脚本内容如下

    #!/bin/bash
    # Mysql安装包所在路径,需要带上包名,示例:PACKAGE_FULL_WAY=/root/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
    readonly PACKAGE_FULL_WAY=
    # Mysql安装主目录,示例:INSTALL_HOME=/usr/local/mysql
    readonly INSTALL_HOME=
    # Mysql数据库root用户密码,示例:USER_PASSWD=root
    readonly USER_PASSWD=
    
    #check user
    if [[ "$UID" -ne 0 ]]; then
        echo "ERROR: the script must run as root"
        exit 3
    fi
    
    function log_info() {
        echo "[$(date -d today +"%Y-%m-%d %H:%M:%S %:::z")] $1"
    }
    
    function log_error() {
        echo -e "[$(date +"%Y-%m-%d %H:%M:%S %Z%:z")] [ERROR] $* \n"
        exit 1
    
    }
    
    function check_result() {
        local ret_code=$1
        shift
        local error_msg=$*
        if [[ ${ret_code} -ne 0 ]]; then
            log_error ${error_msg}
        fi
    }
    
    # 校验参数
    function check_param() {
        if [[ ! -n ${PACKAGE_FULL_WAY} ]] || [[ ! -n ${INSTALL_HOME} ]] || [[ ! -n ${USER_PASSWD} ]]; then
            log_error "Param: PACKAGE_FULL_WAY INSTALL_HOME USER_PASSWD can not be null"
        fi
        if [[ ! -f ${PACKAGE_FULL_WAY} ]]; then
            log_error "Please check the config of PACKAGE_FULL_WAY dose config Mysql package name"
        fi
    }
    
    function check_mysql_process() {
        local mysql_process_count=`ps -ef |grep ${INSTALL_HOME}|grep -vwE "grep|vi|vim|tail|cat"|wc -l`
        if [[ ${mysql_process_count} -gt 0 ]]; then
            log_error "please stop and uninstall the mysql first"
        fi
    }
    
    # 新建mysql用户
    function add_user() {
        #create group mysql
        grep "^mysql" /etc/group &> /dev/null
        if [[ $? -ne 0 ]]; then
            groupadd mysql
        fi
    
        #create user mysql
        id mysql &> /dev/null
        if [[ $? -ne 0 ]]; then
            useradd -g mysql mysql
            chage -M 99999 mysql
        fi
    }
    
    # 初始化my.cnf,按需配置
    function init_my_conf() {
        local host_ip=$(/sbin/ip route get 1| sed 's/^.*src \(\S*\).*$/\1/;q')
        local total_mem=`free -m |grep "Mem"|awk '{print $2}'`
    
        mkdir -p ${INSTALL_HOME}/log
        mkdir -p ${INSTALL_HOME}/mysqld
        touch ${INSTALL_HOME}/mysqld/mysqld.pid
        chown mysql.mysql ${INSTALL_HOME}/mysqld/mysqld.pid
        touch ${INSTALL_HOME}/log/mysql-error.log
        touch ${INSTALL_HOME}/log/mysql-slow.log
        touch ${INSTALL_HOME}/log/mysqld.log
        chown mysql.mysql -R ${INSTALL_HOME}/log
    
    echo "[mysql]
    default-character-set=UTF8
    [mysqld]
    socket=/opt/mysql/mysql.sock
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    
    port = 3306
    basedir = ${INSTALL_HOME}
    datadir = ${INSTALL_HOME}/data/mysql
    pid-file = ${INSTALL_HOME}/mysql.pid
    user = mysql
    server-id = 1
    #rpl_semi_sync_master_enabled=1
    #rpl_semi_sync_master_timeout=1000
    #rpl_semi_sync_slave_enabled=1
    relay_log_purge=0
    read_only=0
    slave-skip-errors=1396
    
    
    lower_case_table_names = 1
    character-set-server=utf8
    skip-name-resolve
    skip-external-locking
    back_log = 500
    max_connections = 500
    max_connect_errors = 2000
    open_files_limit = 65535
    table_open_cache = 128
    max_allowed_packet = 64M
    
    
    key_buffer_size = 64M
    read_buffer_size = 64M
    read_rnd_buffer_size = 16M
    sort_buffer_size = 16M
    join_buffer_size = 16M
    tmp_table_size = 96M
    max_heap_table_size = 96M
    query_cache_size = 8M
    query_cache_limit = 8M
    thread_cache_size = 64
    
    log_bin = mysql-bin
    binlog_format = mixed
    binlog_cache_size = 8M
    sync_binlog = 1
    max_binlog_cache_size = 8M
    max_binlog_size = 500M
    expire_logs_days = 10
    
    log_error = ${INSTALL_HOME}/log/mysql-error.log
    slow_query_log = 1
    long_query_time = 1
    slow_query_log_file = ${INSTALL_HOME}/log/mysql-slow.log
    
    default_storage_engine = InnoDB
    innodb_buffer_pool_size = ${total_mem}
    innodb_file_per_table = 1
    innodb_data_home_dir = ${INSTALL_HOME}/data/mysql
    innodb_log_group_home_dir = ${INSTALL_HOME}
    innodb_log_file_size = 500M
    innodb_log_buffer_size = 20M
    innodb_flush_log_at_trx_commit = 1
    innodb_print_all_deadlocks = 1
    
    
    [mysqld_safe]
    log-error=${INSTALL_HOME}/log/mysqld.log" >/etc/my.cnf
    
        chown mysql.mysql /etc/my.cnf
    }
    
    # 安装Mysql
    function install_mysql() {
        # 创建安装主目录
        mkdir -p ${INSTALL_HOME}
        # 解压mysql到安装主目录
        tar -zxvf ${PACKAGE_FULL_WAY} -C ${INSTALL_HOME} > /dev/null 2>&1
        check_result $? "unzip Mysql package error"
        local package_name=`ls ${INSTALL_HOME} |grep mysql`
        mv ${INSTALL_HOME}/${package_name}/* ${INSTALL_HOME}
        rm -rf ${INSTALL_HOME}/${package_name}
        cd ${INSTALL_HOME}
    
        # 新建数据库目录
        mkdir -p ${INSTALL_HOME}/data/mysql
        chown -R mysql:mysql ${INSTALL_HOME}
    
        # 安装并指定用户和data文件夹位置
        ./bin/mysqld --initialize-insecure --user=mysql --basedir=${INSTALL_HOME} --datadir=${INSTALL_HOME}/data/mysql
    
        # 初始化my.cnf,按需配置
        init_my_conf
    
        # 复制mysql到服务自动启动里面
        cp -pf ${INSTALL_HOME}/support-files/mysql.server /etc/init.d/mysqld
        chmod 755 /etc/init.d/mysqld
        # 修改basedir和datadir
        sed -i "s#^basedir=.*#basedir=${INSTALL_HOME}#" /etc/init.d/mysqld
        sed -i "s#^datadir=.*#datadir=${INSTALL_HOME}\/data\/mysql#" /etc/init.d/mysqld
        # 加入环境变量,方便使用mysql命令,但是需要source /etc/profile
        echo "###MYSQL_PATH_ENV_S" >>/etc/profile
        echo "export PATH=${INSTALL_HOME}/bin:\$PATH" >> /etc/profile
        echo "###MYSQL_PATH_ENV_E" >> /etc/profile
        # 启动Mysql
        start
    
        if [[ ! -L ${INSTALL_HOME}/mysql.sock ]]; then
            ln -s ${INSTALL_HOME}/mysql.sock /tmp
        fi
        # 修改Mysql用户root密码
        ./bin/mysqladmin -u root password ${USER_PASSWD}
        cd ${INSTALL_HOME}
    
    # 开启远程登录权限
    ./bin/mysql -hlocalhost -uroot -p${USER_PASSWD} << EOF
    grant all privileges on *.* to root@'%' identified by 'root'; flush privileges;
    EOF
        chown -R mysql:mysql ${INSTALL_HOME}
    }
    
    # 安装Mysql
    function install() {
        log_info "+++++++++++ step 1 ++++++++++++++++"
        check_param
        log_info "check_param finish"
    
        log_info "+++++++++++ step 2 ++++++++++++++++"
        check_mysql_process
        log_info "check_mysql_process finish"
    
        log_info "+++++++++++ step 3 ++++++++++++++++"
        add_user
        log_info "add_user finish"
    
        log_info "+++++++++++ step 4 ++++++++++++++++"
        install_mysql
        log_info "install_mysql finish"
    }
    
    # 卸载Mysql
    function uninstall() {
        # 如果Mysql仍启动则停止Msql
        local mysql_process_count=`ps -ef |grep ${INSTALL_HOME}|grep -vwE "grep|vi|vim|tail|cat"|wc -l`
        if [[ ${mysql_process_count} -gt 0 ]]; then
            stop
        fi
    
        # 删除创建的文件
        rm -rf ${INSTALL_HOME}
        rm -rf /etc/init.d/mysqld
        rm -rf /etc/my.cnf
    
        if [[ -L /tmp/mysql.sock ]]; then
            rm -rf /tmp/mysql.sock
        fi
    
        # 删除配置的环境变量
        sed -i '/###MYSQL_PATH_ENV_S/,/###MYSQL_PATH_ENV_E/d' /etc/profile
    
        #删除用户和用户组
        id mysql &> /dev/null
        if [[ $? -eq 0 ]]; then
            userdel mysql
        fi
        log_info "uninstall Mysql success"
    }
    
    # 停止Mysql
    function stop() {
        su - mysql -c "service mysqld stop"
    }
    
    # 启动Mysql
    function start() {
        su - mysql -c "service mysqld start"
    }
    
    # Mysql状态检查
    function check_status() {
        su - mysql -c "service mysqld status"
    }
    
    function usage() {
        echo "Usage: $PROG_NAME {start|stop|install|uninstall|check_status}"
        exit 2
    
    }
    
    PROG_NAME=$0
    ACTION=$1
    
    case "$ACTION" in
        start)
            start
        ;;
        stop)
            stop
        ;;
        restart)
            stop
            start
        ;;
        install)
            install
        ;;
        uninstall)
            uninstall
        ;;
        check_status)
            check_status
        ;;
        *)
            usage
        ;;
    esac

            使用root用户登录Linxu服务器,在任意目录下执行命令

            vim mysql_manager.sh

            按一下insert键,复制以上的脚本内容,在机器上右键粘贴进去

            复制完成后需要修改脚本最上方的三个配置项

    PACKAGE_FULL_WAY

    Mysql安装包所在路径,需要带上包名

    示例:PACKAGE_FULL_WAY=/root/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

    INSTALL_HOME

    Mysql安装主目录

    示例:INSTALL_HOME=/usr/local/mysql

    USER_PASSWD

    Mysql数据库root用户密码

    示例:USER_PASSWD=root

           修改完成后按一下Esc键,键盘输入:wq!即可

           脚本命令:

    sh mysql_manager.sh install

    安装并启动Mysql

    sh mysql_manager.sh start

    启动Mysql

    sh mysql_manager.sh stop

    关闭Mysql

    sh mysql_manager.sh restart

    重启Mysql

    sh mysql_manager.sh check_status

    Mysql状态检查

    sh mysql_manager.sh uninstall

    卸载Mysql

            如果有Shell脚本大神觉得写得不对的地方请留言指正

    5.安装后校验

            使用Navicat登录

            若出现无法连接的情况需要检查是不是服务器防火墙没有放开,执行service iptables stop关闭或放开3306端口即可

    展开全文
  • shell脚本安装mysql-5.6

    2019-04-01 16:05:45
    该资源为mysql安装shell脚本,请自行下载mysql-xxx-xxx.tar.gz安装包,并与脚本一同放置在/opt/db下,修改脚本权限,chmod 777 startupmysql.sh,执行脚本即可完成mysql安装。如果需要修改安装路径,请适当 修改...
  • Shell脚本安装mysql-8.0.12(二进制包安装) [root@localhost ~]# cat /etc/redhat-release  CentOS Linux release 7.3.1611 (Core)    #!/bin/bash #与后面endtime结合现实脚本安装时间 start_time=$(date ...

      Shell脚本安装mysql-8.0.12(二进制包安装)

    [root@localhost ~]# cat  /etc/redhat-release 
    CentOS Linux release 7.3.1611 (Core) 

     

    #!/bin/bash
    #与后面endtime结合现实脚本安装时间
    start_time=$(date +%s)
    
    #安装mysql依赖包
    yum -y install gcc gcc-c++ openssl openssl-devel libaio libaio-devel  ncurses  ncurses-devel  >> /dev/null
    
    #mysql官网下载64位的二进制版本:mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz ,置于/root目录下
    tar  xvfJ  /root/mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz  -C  /usr/local/
    mv  /usr/local/mysql-8.0.12-linux-glibc2.12-x86_64  /usr/local/mysql8
    
    
    # 创建数据库文件目录和创建日志目录
    mkdir  /usr/local/mysql8/{data,log}
    
    
    #创建mysql组和用户
    groupadd mysql
    useradd -r -g mysql -s /bin/false mysql
    chown  -R  mysql:mysql /usr/local/mysql8
    
    
    #配置/etc/my.cnf
    cat > /etc/my.cnf <<EOF
    [mysqld]
    port=3306
    datadir=/usr/local/mysql8/data
    log-error=/usr/local/mysql8/log/mysql-err.log
    user=mysql
    [client]
    socket=/tmp/mysql.sock
    EOF
    
    
    #配置环境变量
    echo "export PATH=$PATH:/usr/local/mysql8/bin"  >>  /etc/profile
    source /etc/profile
    
    
    #初始化数据库
    /usr/local/mysql8/bin/mysqld  --initialize  --user=mysql  --basedir=/usr/local/mysql8 --datadir=/usr/local/mysql8/data   >>  /dev/null
    
    
    #制作启动文件
    cp  /usr/local/mysql8/support-files/mysql.server  /etc/init.d/mysqld
    sed  -i  's/^basedir=/basedir=\/usr\/local\/mysql8/'  /etc/init.d/mysqld
    sed  -i  's/^datadir=/datadir=\/usr\/local\/mysql8\/data/'  /etc/init.d/mysqld
    chmod  755 /etc/init.d/mysqld
    
    
    #启动mysql服务
    /etc/init.d/mysqld start
    
    
    #关闭mysql服务 
    #/etc/init.d/mysqld stop
    echo "#####mysql8安装完成#####"
    
    
    #修改mysql登录密码
    b=`grep  'temporary password'   /usr/local/mysql8/log/mysql-err.log`
    a=`echo ${b##*localhost:}`
    echo $a
    
    #创建/usr/local/mysql8/bin/mysql软连接,便于命令行直接执行mysql
    ln  -s  /usr/local/mysql8/bin/mysql   /usr/bin/mysql
    
    #mysql -e 可以直接在命令行执行命令,123456是设定的新密码
    mysql -uroot -p"${a}" -e  "ALTER USER 'root'@'localhost'  IDENTIFIED  BY '123456'"  --connect-expired-password
    echo  "#####mysql8密码修改成功#####"
    
    
    
    end_time=$(date +%s)
    cost_time=$((end_time - start_time))
    echo $cost_time
    

     

    展开全文
  • shell脚本安装MySql InnoDB Cluster集群    MySQL InnoDB Cluster 是最新GA的MySQL高可用方案,利用MySQL Group Replication和MySQL Shell、MySQL Router可以轻松搭建强壮的高可用方案。  ...

    (转自https://www.cnblogs.com/ccong/p/ccong.html

    shell脚本安装MySql InnoDB Cluster集群

     

           MySQL InnoDB Cluster 是最新GA的MySQL高可用方案,利用MySQL Group Replication和MySQL Shell、MySQL Router可以轻松搭建强壮的高可用方案。

           MySQL Shell 是新的mysql 客户端工具支持x protocol和mysql protocol,具备JavaScript和python可编程能力,作为搭建InnoDB Cluster管理工具。

           MySQL Router 是访问路由转发中间件,提供应用程序访问的failover能力。

           MySQL Group Replication 是最新GA的同步复制方式,具有以下特点:

     

      •   支持单主和多主模式
      •   基于Paxos算法,实现数据复制的一致性
      •   插件化设计,支持插件检测,新增节点小于集群当前节点主版本号,拒绝加入集群,大于则加入,但无法作为主节点
      •   没有第三方组件依赖
      •   支持全链路SSL通讯
      •   支持IP白名单
      •   不依赖网络多播

     


     

    mysql的集群架构有很多种。官方提供了shell脚本安装。所以接下来就通过脚本进行安装。

    一、环境准备

    1、资源列表

    Centos7(CentOS-7-x86_64-Everything-1708.iso)

    Mysql5.7.21(mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar)

    Mysqlshell8.0.12(mysql-shell-8.0.12-1.el7.x86_64.rpm)

    Mysqlrouter8.0.12(mysql-router-8.0.12-1.el7.x86_64.rpm)

    下载地址:https://dev.mysql.com/downloads/

    https://download.csdn.net/download/qq540061627/10606115

    准备环境

    centos7物理机或者虚拟机三台(python版本要在2.7以上)

    192.168.111.131

    192.168.111.132

    192.168.111.133

    由于mysql集群连接是通过本机的hostname进行连接所以要对集群内的节点进行映射

    vi /etc/hosts

    192.168.111.131  vm001

    192.168.111.132  vm002

    192.168.111.133  vm003

    分别设置hostname

    hostnamectl set-homename vm001

    hostnamectl set-homename vm002

    hostnamectl set-homename vm003

    另:需要设置下 131到132、133的免密登陆

    在192.168.111.131机器执行如下命令

    ssh-keygen -t rsa

    ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.111.132

    ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.111.133

    2、其它依赖

    纯净的centos7环境,需要安装perl。

    使用iso文件作为yum源

    先创建一个目录作为挂载点

    mkdir /media/CentOS

    使用ios文件,需要把iso文件先上传

    mount -o loop /root/CentOS.iso /media/CentOS

    使用光驱

    mount /dev/cdrom /media/CentOS

    到/etc/yum.repos.d目录下

    修改CentOS-Media.repo文件

    把gpgcheck改为0,enabled改为1

    然后运行

    yum clean all

    这样就可以离线安装iso文件里包含的软件包了

    二、安装MySql集群

    1、卸载mariadb和清空Mysql安装文件(重复安装时)

    首先卸载 相关mysql

    rpm -qa | grep mysql

    rpm -qa | grep -i mysql | xargs rpm -e --nodeps

    删除mariadb数据库

    rpm -qa | grep mariadb

    rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps

    删除mysql相应目录(遇到问题时,可使用此恢复到初始状态)

    find / -name mysql

    rm -rf /var/lib/mysql

    rm -rf /usr/share/mysql

    2、关闭防火墙和selinux

    systemctl status firewalld

    systemctl stop firewalld

    systemctl disable firewalld

    关闭 selinux

    使用getenforce命令查看状态

    修改文件

    vi /etc/selinux/config

    设置

    SELINUX=disabled

    需要重启

    3、安装mysql-server

    1)       安装rpm

    如:把所需rpm放入home目录下

    cd /home

    yum install *.rpm

    mysql-community-client-5.7.21-1.el7.x86_64.rpm

    mysql-community-common-5.7.21-1.el7.x86_64.rpm

    mysql-community-libs-5.7.21-1.el7.x86_64.rpm

    mysql-community-server-5.7.21-1.el7.x86_64.rpm

    2)       安装完毕后,配置mysql

    • 找出密码:

    grep 'temporary password' /var/log/mysqld.log

    mysql -uroot -p

    输入 上面 查找出的密码

    • 执行mysql查询出现错误如下:

    mysql> use mysql;

    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    • 首次使用需要修改密码:

    alter user 'root'@'localhost' identified by 'Mlamp123_';

    • 添加远程访问

    grant all privileges on *.* to root@'%' identified by 'Mlamp123_' with grant option;

    flush privileges;

    至此,可以通过mysql命令行或者工具远程访问数据库啦。


     

    4、安装Mysql-shell

    同样把mysql-shell-8.0.12-1.el7.x86_64.rpm放入/home目录下

    yum install mysql-shell-8.0.12-1.el7.x86_64.rpm

    5、利用mysql-shell配置集群

    1)     每台机器分别执行(dba.configureLocalInstance()):

    mysqlsh --uri root@vm001:3306

    dba.configureLocalInstance()

    y

    y

    dba.checkInstanceConfiguration('root@vm001:3306')

    ctrl + z退出,然后 systemctl restart mysqld

    如图:

     

    2)     再次 检查一遍 三台服务器是否准备就绪

    mysqlsh (只在131服务器执行检查即可)

    dba.checkInstanceConfiguration('root@vm001:3306')

    dba.checkInstanceConfiguration('root@vm002:3306')

    dba.checkInstanceConfiguration('root@vm003:3306')

     

    3)     创建cluster

    //只需要在一台机器上执行

    var cluster = dba.createCluster('mlampCluster')

    //添加另外两台机器

    cluster.addInstance('root@vm002:3306')

    cluster.addInstance('root@vm003:3306')

    查看状态 为ONLINE 说明集群安装成功

    cluster.status()

    6、安装Mysql-router

    同样把mysql-router-8.0.12-1.el7.x86_64.rpm放入/home目录下

    yum install mysql-router-8.0.12-1.el7.x86_64.rpm

    mysqlrouter --bootstrap root@vm001:3306 --user=mysqlrouter

     

    vi /etc/mysqlrouter/mysqlrouter.conf

     

    设置连接数

    [routing:mlampCluster_default_rw]

    max_connections=1024

     

    重启 router

    systemctl restart mysqlrouter

    7、…

    三、问题汇总

    1、集群所有节点发生重启

    当集群的所有节点都offline,直接获取集群信息失败,如何重新恢复集群

    mysql-js> var cluster=dba.getCluster('mycluster')

    Dba.getCluster: This function is not available through a session to a standalone instance (RuntimeError)

    执行rebootClusterFromCompleteOutage命令,可恢复集群

    mysql-js> dba.rebootClusterFromCompleteOutage('mlampCluster') 

    单节点 重启

    cluster.rejoinInstance('root@vm003:3306')

    2、状态属性

    • 节点状态
      ONLINE  - 节点状态正常。
      OFFLINE  -   实例在运行,但没有加入任何Cluster。
      RECOVERING - 实例已加入Cluster,正在同步数据。
      ERROR  -  同步数据发生异常。
      UNREACHABLE -  与其他节点通讯中断,可能是网络问题,可能是节点crash。
      MISSING 节点已加入集群,但未启动group replication
    • 集群状态
      OK – 所有节点处于online状态,有冗余节点。
      OK_PARTIAL – 有节点不可用,但仍有冗余节点。
      OK_NO_TOLERANCE – 有足够的online节点,但没有冗余,例如:两个节点的Cluster,其中一个挂了,集群就不可用了。
      NO_QUORUM – 有节点处于online状态,但达不到法定节点数,此状态下Cluster无法写入,只能读取。
      UNKNOWN – 不是online或recovering状态,尝试连接其他实例查看状态。
      UNAVAILABLE – 组内节点全是offline状态,但实例在运行,可能实例刚重启还没加入Cluster。

    3、…

     转载 请说明出处。赞助作者:

    展开全文
  • shell脚本安装MySql InnoDB Cluster集群 MySQL InnoDB Cluster 是最新GA的MySQL高可用方案,利用MySQL Group Replication和MySQL Shell、MySQL Router可以轻松搭建强壮的高可用方案。 MySQL Shell是新的mysql ...
  • Linux 使用脚本安装MySQL数据库

    千次阅读 2014-11-13 16:15:09
    为了简便操作,我这里提供一个方便大家操作的方法,使用脚本安装MySQL,配置服务,启动服务 具体内容请查看附件   我们需要建立一个script文件夹,然后将MySQL安装文件和配置文件放到里面,包括我们执行脚本 ...
  • 脚本安装mysql8

    2019-09-18 06:56:29
    mysql8脚本一键安装 #!/bin/sh yum -y install net-tools numactl pkgconfig perl perl-DBI perl-Compress-Raw-Bzip2 perl-Net-Daemon yum -y install perl-Module-Pluggable perl-Pod-Escapes perl-Pod-Simple ...
  • 脚本安装Mysql5.6

    2020-06-08 18:11:33
    #!/bin/bash # author: limaoshun # data: 2020-05-24 ...mysql_file=/root/mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz [ ! -e $mysql_file ] && wget http://mirrors.163.com/mysql/Downl
  • 脚本安装MySQL 8.0

    2019-07-17 10:05:14
    sh mysql80.sh 看到下面提示,输入root@127.0.0.1用户密码,保存好一会使用。另外root@localhost密码为空 please input root@127.0.0.1 password, default bigops >输入你的密码 mysql80.sh #!/b...
  • 如何用shell脚本安装mysql,避免输入密码的过程 sudo debconf-set-selections &lt;&lt;&lt; 'mysql-server mysql-server/root_password password your_password' sudo debconf-set-selections &lt;&...
  • linux 利用脚本安装mysql

    千次阅读 2020-01-18 12:13:41
    脚本代码:新建文件将代码拷贝修改文件名称:mysql_install.sh #!/bin/bash #-------------CopyRight------------- # Name:MySQL Install 5.6 # Version Number:1.02 # System:CentOS7 # Type:shell # Language...
  • 脚本下载 1. Docker安装 直接按照Docker可能会报selinux错误,解决办法: # 可能会报错需要更高版本的selinux yum -y install wget # 如果下载404, 到页面查看最新的...
  • Linux环境使用Shell脚本安装Mysql5.6

    千次阅读 2019-04-03 23:27:48
    之前在Linux上安装Mysql总是花费很多时间,一行一行执行命令,很是繁琐,所以决定写个脚本提升下效率,这个脚本是基于Mysql5.6版本写的,后续版本不适用,但是如果自己能看懂脚本的可以稍加修改,如果有需要其他...
  • MYSQL数据库安装目录一、解压安装包二、配置环境变量三、yum安装四、rpm安装mysql 一、解压安装包        1.首先我在/opt文件目录下新建了两个文件夹,download和software。之后...
  • 脚本安装mysql----yum

    2020-08-14 19:31:18
    脚本可以实现mysql 5.5|5.6|5.7|8.0这些版本的安装如果和我版本一致直接复制不需要测试前提是你的网络通畅 安装注意如下,这些没问题了那么你就可以可以静静的等待安装完成 比如你想安装5.7的版本,安装完成后需要...
  • 一个脚本安装mysql

    2016-05-27 00:22:56
    1、上传install_mysql-5.5.40.sh到虚拟机上(root身份) 2、给install_mysql-5.5.40.sh加权限  chmod 777 install_mysql-5.5.40.sh 3、创建/alidata/server/mysql、alidata/log/mysql两个目录 mkdir alidata/...
  • 脚本路径下所有文件 install.cnf:脚本配置文件 ...mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar:数据库安装包,下载方式:https://downloads.mysql.com/archives/community/(浏览器下载)、 wget ...
  • Python脚本安装MySQL5.7

    2017-03-29 16:56:00
    #!/usr/bin/env python import os import sys ...base_dir = '/opt/software/mysql-5.7.17-linux-glibc2.5-x86_64' os.chdir('/opt/software') tar_result = os.system('tar xvf %s &>/...
  • centos7默认安装的postfix邮件服务依赖了mariadb-libs,mysql8 rpm安装时要求环境无mariadb,所以先卸载。 --deps表示操作前不检查依赖 shell> rpm -e mariadb-libs --nodeps 安装libaio shell>...
  • #install mysql and init passwd cd /home/software/ wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm yum-config-manager -v if [ $? -ne 0 ]; then yum -y install yum-utils ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,040
精华内容 2,416
关键字:

脚本安装mysql

mysql 订阅