MySQL innobackupex全备是指什么

  

下文主要给大家带来MySQL innobackupex全备是指什么,希望这些内容能够带给大家实际用处,这也是我编辑MySQL innobackupex全备是指什么这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。

 MySQL innobackupex全备是指什么

MySQL innobackupex全备

 # !/usr/地方/bin/python3
  # - * -编码:utf - 8 - *
  #作者:xtrdb.net
  
  进口操作系统
  导入系统
  进口errno
  导入的时间
  导入日志
  进口getopt
  进口shlex
  进口MySQLdb
  从子流程导入管、Popen STDOUT
  
  db_host=?16.196.xx.16"
  db_port=?036”;
  db_user=皕yl"
  db_passwd=& # 39; g 'QnpqD) P>} 25 b”^ l1h) xxxx # 39;
  db_name=癿ysql"
  参看=?数据/mysql/mysql9036/my9036.cnf"
  target_dir=?数据/full_back test_9036_full_ {}“.format (time.strftime (“% Y % m % d"))
  pt_xtrabackup=?usr/bin/innobackupex"
  
  #开始登录
  logging.basicConfig (
  ,,文件名=?tmp/innobackupex.log"
  ,,格式=? (asctime): % (levelname): %(消息)s",
  ,,datefmt=癥 % - % - % d % T",
  ,,=logging.INFO水平,
  )
  logging.info(“启动备份…“)
  
  类备份(对象):
  ,,def __init__(自我、db_conf、用户、主机passwd,港口,bak_dir):
  ,,,自我。用户=db_user
  ,,,自我。主机=db_host
  ,,,自我。passwd=db_passwd
  ,,,自我。端口=db_port
  ,,,配置==,如果没有:
  ,,,,,,self.defaults_file=?etc/my.cnf"
  ,,,,其他的:
  ,,,,,self.defaults_file=相依
  
  ,,,自我。target_dir=target_dir
  
  ,,def备份(自我):
  ,,,,命令=皗0}用户——defaults-file={1}={2}——密码=& # 39;{3}& # 39;——主机={4}——端口={5}——no-timestamp {6}“。格式(pt_xtrabackup, self.defaults_file,自我。用户自我。passwd,自我。主机,自我。端口、self.target_dir)
  ,,,,打印(命令)
  ,,,,状态=runCommand(命令)
  ,,,,如果状态==1:
  ,,,,,,返回1
  
  ,,def applylog(自我):
  ,,,,命令=? s——defaults-file=% s/backup-my.cnf——运用原木,——用户=% s——密码=& # 39;% & # 39;——主机=% s——端口=% s, % s"% (pt_xtrabackup, target_dir,自我。用户自我。passwd、self.host自我。target_dir港口)
  ,,,,打印(命令)
  ,,,,状态=runCommand(命令)
  ,,,,如果状态==1:
  ,,,,,,返回1
  ,,,,返回0
  def runCommand(命令):
  ,,cmd=shlex.split(命令)
  ,回,logging.debug(& # 39;运行命令:“& # 39;+命令+ & # 39;“& # 39;)
  ,,proc=Popen (cmd, stdout=烟斗,stderr=管)
  ,,在proc.stderr线:
  ,,,,logging.warning (str (line.strip ()))
  
  ,,在proc.stdout线:
  ,,,,logging.debug (str (line.strip ()))
  
  ,,proc.wait ()
  
  ,,如果proc.returncode !=0:
  ,,,,logging.critical(& # 39;命令失败,返回码“& # 39;+ str (proc.returncode) + & # 39;“& # 39;)
  ,,其他的:
  ,,,,logging.debug(& # 39;命令成功完成returncode“& # 39;+ str (proc.returncode) + & # 39;“& # 39;)
  ,,,,返回0
  
  if __name__==& # 39; __main__ # 39;:
  ,,t=备份(“defaults_file",“db_user",“db_passwd",“db_host", 9036年,“target_dir")
  ,,t.backup ()
  ,,backup_status=t.applylog ()
  ,,如果backup_status==0:
  ,,,杜,db_size=os.popen (“sh % s"% target_dir) .read () .split (“\ t")
  ,,,,logging.info(“备份dbszie: % s"% db_size [0])
  
  ,,logging.info(“最终backup") 

对于以上关于MySQL innobackupex全备是指什么,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。

  

MySQL innobackupex全备是指什么