现在的位置: 首页 > 数据库 > 正文

好用的mysql备份工具有哪些

2020年05月07日 数据库 ⁄ 共 1996字 ⁄ 字号 评论关闭

  在现在的工作中,数据备份是非常有必要的,因为在进行数据库管理时经常会遇到一些故障或者问题造成数据库中数据的丢失,如果我们对数据进行了备份,即使数据在操作中丢失了,也没什么大不了的,因为我们有备份啊,由此可见,数据备份是很必要的。下面学步园小编来讲解下好用的mysql备份工具有哪些?

  好用的mysql备份工具有哪些

  mysqlhotcopy是一个Perl脚本,最初由TimBunce编写并提供。它使用LOCKTABLES、FLUSHTABLES和cp或scp来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库目录所在的机器上。mysqlhotcopy只用于备份MyISAM。它运行在Unix和NetWare中

  使用方法见下面的脚本.加入crotab中吧.

  #!/bin/sh

  #Name:mysqlbackup.sh

  #PS:MySQLDataBaseBackup,Usemysqlhotcopyscript.

  #LastModify:2008-06-12

  #定义变量,请根据具体情况修改

  #定义脚本所在目录

  scriptsDir=`pwd`

  #数据库的数据目录

  dataDir=/var/lib/mysql

  #数据备份目录

  tmpBackupDir=/tmp/mysqlblackup

  backupDir=/backup/mysql

  #用来备份数据库的用户名和密码

  mysqlUser=root

  mysqlPWD='youpassword'

  #如果临时备份目录存在,清空它,如果不存在则创建它

  if[[-e$tmpBackupDir]];then

  rm-rf$tmpBackupDir/*

  else

  mkdir$tmpBackupDir

  fi

  #如果备份目录不存在则创建它

  if[[!-e$backupDir]];then

  mkdir$backupDir

  fi

  #得到数据库备份列表,在此可以过滤不想备份的数据库

  fordatabasesin`find$dataDir-typed|\

  sed-e"s/\/var\/lib\/mysql\///"|\

  sed-e"s/test//"`;do

  if[[$databases==""]];then

  continue

  else

  #备份数据库

  /usr/bin/mysqlhotcopy--user=$mysqlUser--password=$mysqlPWD-q"$databases"$tmpBackupDir

  dateTime=`date"+%Y.%m.%d%H:%M:%S"`

  echo"$dateTimeDatabase:$databasesbackupsuccess!">>MySQLBackup.log

  fi

  done

  #压缩备份文件

  date=`date-I`

  cd$tmpBackupDir

  tarczf$backupDir/mysql-$date.tar.gz./

  #End完成

  加入到crontab中设置每周5运行

  00**5/backup/blackup.sh

  注意:恢复数据库到备份时的状态mysqlhotcopy备份出来的是整个数据库目录,使用时可以直接拷贝到mysqld指定的datadir(在这里是/var/lib/mysql/)目录下即可,同时要注意权限的问题,如下例:

  shell>cp-rfdb_name/var/lib/mysql/

  shell>chown-Rmysql:mysql/var/lib/mysql/(将db_name目录的属主改成mysqld运行用户)

  本套备份策略只能恢复数据库到最后一次备份时的状态,要想在崩溃时丢失的数据尽量少应该更频繁的进行备份,要想恢复数据到崩溃时的状态请使用主从复制机制(replication)。

  好用的mysql备份工具有哪些

  小技巧:

  不想写密码在shell中的话,可以在root的home目录下建立一个.my.cnf文件,以便让mysqlhotcopy从中读取用户名/密码。

  [mysqlhotcopy]

  user=root

  password=YourPassword

  然后安全起见,chmod一下。

  chmod600~/.my.cnf

  mysqlhotcopy从选项文件读取[client]和[mysqlhotcopy]选项组。要想执行mysqlhotcopy,你必须可以访问备份的表文件,具有那些表的SELECT权限和RELOAD权限(以便能够执行FLUSHTABLES)。

  以上就是关于“好用的mysql备份工具有哪些”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.