mysql多实例部署

    技术2023-04-09  154

    mysql多实例部署之脚本 #!/bin/bash

    install_dir=/usr/local soft=mysql-5.7.22-linux-glibc2.12-x86_64 daradir=/opt/data

    id mysql &>/dev/null if [ $? -ne 0 ];then useradd -r -M -s /sbin/nologin -u 306 mysql fi

    if [ ! -d i n s t a l l d i r / install_dir/ installdir/soft ];then tar xf software/${soft}.tar.gz -C $install_dir fi

    cd $install_dir ln -s $soft mysql &>/dev/null chown -R mysql.mysql $install_dir/mysql* #!/bin/bash

    install_dir=/usr/local soft=mysql-5.7.22-linux-glibc2.12-x86_64 daradir=/opt/data read -p “请输入设置的密码:” password

    id mysql &>/dev/null if [ $? -ne 0 ];then useradd -r -M -s /sbin/nologin -u 306 mysql fi

    if [ ! -d i n s t a l l d i r / install_dir/ installdir/soft ];then tar xf software/${soft}.tar.gz -C $install_dir fi

    cd $install_dir ln -s $soft mysql &>/dev/null chown -R mysql.mysql $install_dir/mysql*

    echo “export PATH=$install_dir/mysql/bin:$PATH” > /etc/profile.d/mysql.sh

    if [ ! -d $datadir ];then mkdir -p $datadir fi

    chown -R mysql.mysql $datadir

    datastatus=$(ls $datadir|wc -l) if [ $datastatus -eq 0 ];then i n s t a l l d i r / m y s q l / b i n / m y s q l − − i n i t i a l i z e − − u s e r = m y s q l − − d a t a d i r = install_dir/mysql/bin/mysql --initialize --user=mysql --datadir= installdir/mysql/bin/mysqlinitializeuser=mysqldatadir=datadir & > /tmp/temppass temp_passwd=$(grep ‘password’ /tmp/tempppass|awk ‘{print $NF}’) cat > /etc/my.cnf <<EOF [mysqld] basedir = $install_dir/mysql datadir = $datadir socket = /tmp/mysql.sock port = 3306 pid-file = $datadir/mysql.pid user = mysql skip-name-resolve EOF

    cp -a $install_dir/mysql/support-files/mysql.server /etc/init.d/mysqld sed -ri "s#^(basedir=).*#\1$install_dir/mysql#g" /etc/init.d/mysqld sed -ri "s#^(datadir=).*#\1$datadir#g" /etc/init.d/mysqld

    fi

    chmod +x /etc/init.d/mysqld service mysqld start &>/dev/null i n s t a l l d i r / m y s q l / b i n / m y s q l − u r o o t − p install_dir/mysql/bin/mysql -uroot -p installdir/mysql/bin/mysqlurootptemp_passwd -e ‘set password=password("$password");’

    Processed: 0.008, SQL: 9