ahua671 发表于 2018-10-7 10:59:38

mysql读书笔记--备份还原

  2mysqldump多个命令参数生产标准备份实战
  mysqldump -uroot -p'oldboy123' -B d-name|gzip >/tmp/mysql.sql.gz
  -B      添加建库建表的语句
  同时备份多个数据库
  -A      备份全部数据库
  --compact 减少输出注解,生产不用
  gzip       压缩数据库
  -F         切割bin-log日志,刷新binlog参数
  --master-data=1   增加binlog日志文件名及对应的文置点
  --master-data=2添加了注释
  -x--local-all-tables
  -l--local-tables      Lock all tables for read
  -d         只备份表结构
  -t         只备份数据
  --single-transaction适合innodb事务数据库备份
  备注:在/etc/my.cnf的里启用log-bin=mysql-bin所有的更改都会写在里面
  过滤多余信息
  egrep -v "#|^$|/*|--"/tmp/mysql.sql
  mysqldump属于逻辑备份
  恢复数据库
  mysql -uroot -p'oldboy'备份的文件名
  mysqldump -uroot -p oldboy student > /tmp/mysql_oldboy_student.sql
  分库多表备份脚本
  #!/bin/bash
  user=root
  pwd=oldboy
  time=$(date +%F)
  if [ ! -d /tmp/${time} ];then
  mkdir -p /tmp/${time}
  fi
  for dbname in $(mysql -u${user} -p'${pwd}' -e "show databases;"|egrep -v "information_schema|performance_schema|Database|mysql")
  do
  for tname in $(mysql -u${user} -p'${pwd}' -e "use $dbname;show tables;"|egrep -v "Tables")
  do
  mysqldump -u${user} -p'${pwd}' ${dbname} ${tname} >/tmp/${time}/${dbname}_${tname}.sql
  done
  done
  Warning: Using a password on the command line interface can be insecure
  sh /tmp/mysql.sh >/dev/null 2>&1
  06只备份MySQL表结构及只备份MySQL数据
  mysql -uroot -p'oldboy' -d oldboy(只备份表结构)
  mysql -uroot -p'oldboy' -t oldboy(只备份数据 )
  7企业生产场景不同引擎备份命令参数详解
  myisam:
  mysqldump -uroot -poldboy123 -A -B -F --master-data=2 -x|gzip>/tmp/oldboy_all.sql.gz
  innodb:
  mysqldump -uroot -poldboy -A -B -F --master-data=2 --single-transaction|gzip>/tmp/oldboy_all.sql.gz
  8利用source恢复mysql数据讲解及实战
  进入mysql命令行
  source /tmp/mysql_bal_B.sql
  9分库备份后mysql如何分库恢复实战
  解压数据库
  gzip -d /tmp/oldboy_B.sql.gz
  mysql -uroot -p'oldboy123'
页: [1]
查看完整版本: mysql读书笔记--备份还原