千家信息网

Mysql怎么备份到Windows共享路径中

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,本篇内容介绍了"Mysql怎么备份到Windows共享路径中"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有
千家信息网最后更新 2024年11月28日Mysql怎么备份到Windows共享路径中

本篇内容介绍了"Mysql怎么备份到Windows共享路径中"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

下面简单的实现了一下如何将MySQL的数据库备份到一个远程Windows服务器当中。

  1. 首先需要在Windows(IP:192.168.1.5)上面创建一个共享路径:在D盘下面创建一个目录名为HugoShare,在HugoShare目录的属性中点击Share选项卡,在下拉框中找到Everyone,然后点击Add添加到共享用户组中,在权限中选择Read/Write,再Share一下。在Securiy选项卡中找到Everyone这个用户,看看他对这个目录的权限是不是Full,如果不是编辑一下,为了方便起见,先设置成Full。这个时候,你的\\192.168.1.5\HugoShare应该是可以被任何人访问的。

  2. 在MySQL服务端中测试一下上面的共享目录是否能挂载

    首先创建一个目录,mkdir /mnt/HugoShare/,然后安装cifs工具,apt-get install cifs-utils 安装完成输入下面命令mount.cifs //192.168.1.5/HugoShare /mnt/HugoShare -o user="hugo",pass="woaini"。如果挂载成功会返回0,echo $?就会显示0。也可以mount -l | grep "/mnt/HugoShare"看一下是不是真的挂载上了。

  3. 貌似准备工作已经完成,接下来就写一个脚本

#!/bin/bash

# mysql数据库备份脚本

# 数据库配置

USERNAME=root

PASSWORD="woaini"

DATABASE="hugo"

HOSTNAME="localhost"

# 备份选项配置

BACKUP_SERVER="//192.168.1.5/HugoShare/"

BACKUP_SERVER_OPTIONS="user=zed,pass=woaini"

BACKUP_DIR=/mnt/HugoShare

LOGFILE=$BACKUP_DIR/backup.log

DATE=`date '+%Y%m%d-%H%M'`

DUMPFILE=$DATE.bak.sql

ARCHIVE=$DATE.bak.sql.tgz

OPTIONS="-h$HOSTNAME -u$USERNAME -p$PASSWORD $DATABASE"

# 检查备份目录是否存在

if [ ! -d $BACKUP_DIR ] ;

then

mkdir -p $BACKUP_DIR

fi

# 检查windows目录是否挂载

mount -l | grep $BACKUP_DIR > /dev/null 2>&1

if [ $? == 1 ]

then

mount.cifs $BACKUP_SERVER $BACKUP_DIR -o $BACKUP_SERVER_OPTIONS

echo " ==================" >> $LOGFILE

echo "Windows netshare mounted:$BACKUP_SERVER" >> $LOGFILE

fi

# 日志功能

echo " " >> $LOGFILE

echo "====================" >> $LOGFILE

echo "BACKUP DATE:" $(date +"%y-%m-%d %H:%M:%S") >> $LOGFILE

echo "==================== " >> $LOGFILE

# 备份并归档

cd $BACKUP_DIR

mysqldump $OPTIONS > $DUMPFILE

if [ $? == 0 ] ;

then

tar czvf $ARCHIVE $DUMPFILE >> $LOGFILE 2>&1

echo "[$ARCHIVE] backup successful!" >> $LOGFILE

rm -f $DUMPFILE

else

echo "Backup failed " >> $LOGFILE

fi

脚本添加执行权限chmod 777 mysql_dump.sh 看看效果。

可以改进的地方:

接下来的工作就是设置Windows共享目录的安全,指定用户访问。其次就是修改一下脚本,指定备份的整个数据库还是备份单个表,可以在crond中添加计划任务,并且设置日志的轮询工作。更好的方式是设置日志转发邮件的功能。

"Mysql怎么备份到Windows共享路径中"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0