mysql5.7主从同步安装

https://downloads.mysql.com/archives/community/

Product Version: 5.7.38
Operating System: linux generic

https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

###### 二进制自动安装数据库脚本root密码MANAGER将脚本和安装包放在/root目录即可###############
######数据库目录/usr/local/mysql############
######数据目录/home/mysql/data############
######慢日志目录/home/mysql/slowlog############
######端口号默认3306其余参数按需自行修改############
#!/bin/bash


# Check if user is root
if [ $(id -u) != "0" ]; then
    echo "Error: You must be root to run this script, please use root to install"
    exit 1
fi

clear
echo "========================================================================="
echo "A tool to auto-compile & install MySQL 5.7.38 on Redhat/CentOS Linux "
echo "========================================================================="
cur_dir=$(pwd)

#set mysql root password
    echo "==========================="

    mysqlrootpwd="MANAGER"
    echo -e "Please input the root password of mysql:"
    read -p "(Default password: MANAGER):" mysqlrootpwd
    if [ "$mysqlrootpwd" = "" ]; then
        mysqlrootpwd="MANAGER"
    fi
    echo "==========================="
    echo "MySQL root password:$mysqlrootpwd"
    echo "==========================="

#which MySQL Version do you want to install?
echo "==========================="


    isinstallmysql57="n"
    echo "Install MySQL 5.7.38,Please input y"
    read -p "(Please input y , n):" isinstallmysql57


    case "$isinstallmysql57" in
    y|Y|Yes|YES|yes|yES|yEs|YeS|yeS)
    echo "You will install MySQL 5.7.38"

    isinstallmysql57="y"
    ;;
    *)
    echo "INPUT error,You will exit install MySQL 5.7.38"

    isinstallmysql57="n"
    exit
    esac

    get_char()
    {
    SAVEDSTTY=`stty -g`
    stty -echo
    stty cbreak
    #dd if=/dev/tty bs=1 count=1 2> /dev/null
    stty -raw
    stty echo
    stty $SAVEDSTTY
    }
    echo ""
    echo "Press any key to start...or Press Ctrl+c to cancel"
    char=`get_char`

# Initialize  the installation related content.
function InitInstall()
{
    cat /etc/issue
    uname -a
    MemTotal=`free -m | grep Mem | awk '{print  $2}'`
    echo -e "\n Memory is: ${MemTotal} MB "
    #Set timezone
    #rm -rf /etc/localtime
    #ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


    #Delete Old Mysql program
    rpm -qa|grep mysql
    rpm -e mysql






    #Disable SeLinux
    if [ -s /etc/selinux/config ]; then
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    fi
    setenforce 0


}


#Installation of depend on and optimization options.
function InstallDependsAndOpt()
{
cd $cur_dir

cat >>/etc/security/limits.conf<> /etc/sysctl.conf
}

#Install MySQL
function InstallMySQL57()
{
echo "============================Install MySQL 5.7.38=================================="
cd $cur_dir

#Backup old my.cnf
#rm -f /etc/my.cnf
if [ -s /etc/my.cnf ]; then
    mv /etc/my.cnf /etc/my.cnf.`date +%Y%m%d%H%M%S`.bak
fi

echo "============================MySQL 5.7.38 installing…………========================="
#mysql directory configuration
tar xvf /root/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
mv /root/mysql-5.7.38-linux-glibc2.12-x86_64 /usr/local/mysql
groupadd mysql -g 512
useradd -u 512 -g mysql -s /sbin/nologin -d /home/mysql mysql
mkdir -p /home/mysql/data
mkdir -p /home/mysql/slowlog
chown -R mysql:mysql /home/mysql/data
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /home/mysql/slowlog


#edit /etc/my.cnf
SERVERID=`ifconfig eth0 | grep "inet" | awk '{ print $2}'| awk -F. '{ print $3$4}'`
cat >>/etc/my.cnf<> /etc/ld.so.conf.d/mysql-x86_64.conf<> /etc/profile < /tmp/mysql_sec_script<&1 | tee /root/mysql-install.log
InstallDependsAndOpt 2>&1 | tee -a /root/mysql-install.log
InstallMySQL57 > /dev/null
CheckInstall 2>&1 | tee -a /root/mysql-install.log

主库:

mysql -uroot -p
mysql> grant replication client,replication slave on *.* to 'datasync'@'%' identified by 'ilove123456';
mysql> flush privileges;

从库服务器安装mysql-utilities
https://downloads.mysql.com/archives/utilities/
https://downloads.mysql.com/archives/get/p/30/file/mysql-utilities-1.6.5.tar.gz

tar xvf mysql-utilities-1.6.5.tar.gz
cd mysql-utilities-1.6.5
python setup.py build
python setup.py install

从库:

[root@HE1 ~]# mysqlreplicate --master=sys_admin:[email protected]:3306 --slave=sys_admin:[email protected]:3306 --rpl-user=mysync:MANAGER -b

你可能感兴趣的:(mysql5.7主从同步安装)