mysqlhotcopy

mysqlhotcopy的使用,只能备份MYISAM引擎数据库

安装

yum install -y perl perl-DBI perl-DBD-MySQL

需要创建一个专门用来备份的账户

grant select,reload,lock tables on *.* to 'hotcopyer'@'localhost' identified by '123456';

常用选项和示例

mysqlhotcopy -u ... -p password -S /tmp/...sock  库名(多库名空格隔开) 备份的目录
# -u -p 后面必须有空格 可以加一个--flushlog 刷新2进制文件
mysqlhotcopy -u ... -p ... -S ...  原库名 新库名  #会在mysql datadir下产生一个新库目录
  • -q 安静模式
  • --flushlog 刷新2进制日志

恢复数据

  • 关闭数据库
mysqladmin -uroot -p -S /mysql/data/mysql.sock shutdown
  • 删除datadir或者移走

把原数据移走,然后直接把备份的数据文件解压并且放回到datadir下,并且修改所属用户和组为mysql

cp -a 备份文件 datadir
chown mysql.mysql datadir
  • 再启动数据库
service mysqld start