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

#!/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

时间: 2024-10-29 19:05:32

shell之路--mysql主从自动部署的相关文章

MySQL主从同步部署

mysql主从同步部署: master:192.168.2.67 slave:192.168.2.211 同步系统非默认库,master中其它库已经运行一段时间. master端: vim /etc/my.cnf server-id       = 1    master端ID号 log-bin=/data/logbin/mysql-bin    日志路径及文件名 #binlog-do-db = debit            同步debit,此处关闭的话,就是除不允许的,其它的库均同步. b

MySQL主从自动配置脚本

通过yum安装mariadb,并配置MySQL主从服务器主服务器:192.168.10.11从服务器:192.168.10.12 #!/bin/bash #==================================================== # Author: Mr.Song # Create Date: 2019-02-21 # Description: auto config MySQL master&slave #============================

DBA成长之路---mysql主从同步,读写分离

主从同步 什么是主从同步: 让其他的数据库服务器自动同步正在提供服务的数据库服务器上 的数据. 1 添加授权用户 mysql> grant replication slave on *.* to [email protected]"192.168.4.4" identified by '123456'; 2启用binlog日志 [[email protected] ~]# vim /etc/my.cnf [mysqld] server_id=3 log-bin=master11

mysql主从自动配置、诊断及测试脚本

#!/bin/sh # **************************************************************************** # Filename: #                master_slave_configure.sh # Function: #                Automatic configuration of master to slave. # Author: #                [email

Linux Shell实战之四 Mysql主从同步

待更新....

趁一切还来得及【五】数据库MySQL主从同步的实践部署

自笑栖迟淮海客,十年心事一灯前.                                           --[元]萨都拉 第二章 数据库MySQL主从同步部署操作实践 2.1 数据同步相关应用基础 ①MySQL主从同步架构是目前使用最多的数据库架构之一,尤其是负载比较大的网站,因此对于主从同步的部署管理也就显得非常重要. ②MySQL主从同步的作用:(1) 数据分布,(2) 负载平衡(load balancing),(3) 备份,(4) 高可用性(high availability

MySQL 主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录

Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收从那时起

MYSQL-MMM主从同步部署mysql高用集群

使用mysql-mmm和mysql主从同步部署mysql高用集群 公共配置: 关闭iptables 禁用selinux 配置好yum源 固定ip 彼此间能通信 都运行数据库服务 都只有默认初始的四个库 1配置主主结构 2配置一主多从结构 3安装mysql-mmm软件 4配置mysql-mmm实现mysql高可用集群

部署社交网站- MYSQL主从 与 MFS 文件系统

案例概述 公司的社交网站采用PHP语言开发,为了管理PHP程序员开发的代码,上级领导要求搭建SVN服务器进行版本控制.社交网站的第一个版本部署在LNMP平台之上,前端为 Nginx服务器,通过 fastcgi协议访问后端的PHP服务器.为了保证数据安全,要求搭建 MYSQL数据库主从集群. 社交网站项目包含用户的相册功能,允许用户上传照片,上传照片需要使用共享存储来存放.针对共享存储可用的开源方案有很多,如MFS. FastDFS等.公使用MFS分布式文件系统来实现,并将MFS挂载在PHP服务器