文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

shell之路--mysql主从自动部署

2024-04-02 19:55

关注

#!/bin/bash

#auto make install Mysql AB Relication

#by author max

#date 2017-05-04

MYSQL_SOFT="mysql mysql-server mysql-devel php-mysql"

NUM=`rpm -qa |grep -i mysql |wc -l`

CODE=$?


#Mysql To Install 2017

if [ $NUM -ne 0 ];then

echo -e "\033[32mThis server mysql already install.\033[0m"

read -p "Please ensure yum remove mysql server , Yes or No[y/n]": INPUT

if [ $INPUT == "y" ];then

yum remove $MYSQL_SOFT -y

rm -rf /var/lib/mysql /etc/my.cnf

yum -y install $MYSQL_SOFT

else

exit 0

fi

else

rm -rf /var/lib/mysql

yum -y install $MYSQL_SOFT

if [ $CODE -eq 0 ];then

echo -e "\033[32mThe mysql install successfully.\033[0m"

exit 1

fi

fi


#mysql to start and config

cat >/etc/my.cnf<<EOF

[mysqld]

datadir=/car/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

symbpolic-links=0

log-bin=mysql-bin

server-id=1

auto_increment_offset=1

auto_increment_increment=2

[mysql_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysql/mysqld.pid

replicate-do-db=all

EOF

/etc/init.d/mysqld restart

ps -ef |grep mysql


function MYSQL_CONFIG(){


#master config mysql 

mysql -e "grant replication slave on *.* to 'max'@'%' identified by 'zhaomiao';"

MASTER_FILE=`mysql -e "show master status;"|tail -1|awk '{print $1}'`

MASTER_POS=`mysql -e "show master status;"|tail -1|awk '{print $2}'`

MASTER_IPADDR=`ifconfig eth0 |grep "Bcast"|awk '{print $2}'|cut -d: -f2`

read -p "please enter input slave ip address": SLAVE_IPADDR


#slave config mysql

ssh -l root $SLAVE_IPADDR "sed -i 's#server-id = 1#server-id = 2#g' /etc/my.cnf"

ssh -l root $SLAVE_IPADDR "/etc/init.d/mysqld restart"

ssh -l root $SLAVE_IPADDR "mysql -e \"change master to master_host='$MASTER_IPADDR',master_user='max',master_password='zhaomiao',master_log_file='$MASTER_FILE',master_log_pos=$MASTER_POS;\""

ssh -l root $SLAVE_IPADDR "mysql -e \"slave start;\""

ssh -l root $SLAVE_IPADDR "mysql -e \"show slave status\G;\""

}


read -p "please ensure your  server is master ? yes or no[y/n]": INPUT

if [ $INPUT == "y" ];then

MYSQL_CONFIG

else

exit 0

fi


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯