mysql listen_MySQL--自动备份脚本

最近需要对某服务的数据库数据进行备份,因此参考网上教程完成数据库备份脚本.

因为服务的使用频率较低,因此设置定时任务,在每天定时进行备份操作.

#!/bin/bash

# 设置mysql的登录用户名和密码(根据实际情况填写)

mysql_user="root"

mysql_password="root"

mysql_host="localhost"

mysql_port="3306"

mysql_charset="utf8"

mysql_database="isajc"

# 备份文件存放地址(根据实际情况填写)

backup_dir=/home/ftpuser/MySQL_backup

# 是否删除过期数据

expire_backup_delete="ON"

expire_days=7

log_time=`date '+%Y-%m-%d %H:%M:%S'`

backup_time=`date +%Y%m%d%H%M`

welcome_msg="[${log_time}] Welcome to use MySQL backup tools!"

# 判断mysql实例是否正常运行

mysql_ps=`ps -ef |grep mysql |wc -l`

mysql_listen=`netstat -an |grep LISTEN |grep ${mysql_port}|wc -l`

if [ [${mysql_ps} == 0] -o [${mysql_listen} == 0] ]; then

echo "ERROR:MySQL is not running! backup stop!"

exit

else

echo ${welcome_msg}

fi

# 备份指定数据库

mysqldump -h${mysql_host} -P${mysql_port} -u${mysql_user} -p${mysql_password} -B ${mysql_database} > ${backup_dir}/${mysql_database}-${backup_time}.sql

flag=`echo $?`

if [ ${flag} == "0" ];then

echo "database ${mysql_database} success backup to ${backup_dir}/${mysql_database}-${backup_time}.sql"

else

echo "database ${mysql_database} backup fail!"

fi

# 删除过期数据

if [ "${expire_backup_delete}" == "ON" -a "${backup_dir}" != "" ];then

`find ${backup_dir}/ -type f -mtime +${expire_days}  -name  "*.sql"  | xargs rm -rf`

echo "Expired backup data delete complete!"

fi

以上是数据库备份脚本.

编辑定时任务:

crontab -e

# 添加定时任务(每天12:50以及23:50执行备份操作)

50 12,23 * * * cd /home/ftpuser/MySQL_backup/;sh mysql_backup.sh>>backup.log 2>&1

MySQL集群架构一般包括多个MySQL实例和一个负载均衡器,其中MySQL实例分为Master和Slave两种类型,负载均衡器则用于将客户端请求分发到不同的MySQL实例上。下面是一个简单的MySQL集群自动安装脚本示例,仅供参考: ```bash #!/bin/bash # 安装MySQL yum install mysql-server -y # 启动MySQL服务 systemctl start mysqld # 配置MySQL mysql -e "CREATE USER 'cluster'@'%' IDENTIFIED BY 'password';" mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'cluster'@'%' WITH GRANT OPTION;" mysql -e "FLUSH PRIVILEGES;" # 安装Haproxy yum install haproxy -y # 配置Haproxy echo " listen mysql-cluster bind 0.0.0.0:3306 mode tcp balance roundrobin option mysql-check user cluster server mysql-master <master-ip>:3306 check server mysql-slave1 <slave1-ip>:3306 check server mysql-slave2 <slave2-ip>:3306 check " >> /etc/haproxy/haproxy.cfg # 启动Haproxy服务 systemctl start haproxy # 配置MySQL主从复制 mysql -e "CHANGE MASTER TO MASTER_HOST='<master-ip>', MASTER_USER='cluster', MASTER_PASSWORD='password', MASTER_LOG_FILE='<master-binlog-file>', MASTER_LOG_POS=<master-binlog-pos>;" # 启动MySQL从库 mysql -e "START SLAVE;" # 完成 echo "MySQL集群安装完成!" ``` 这个自动安装脚本假设你已经在每台MySQL实例和负载均衡器上配置好了SSH密钥登录,可以直接使用脚本MySQL集群安装并配置好。需要注意的是,这个脚本仅是一个简单的示例,实际使用时需要根据实际情况进行修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值