trove使用innobackupex时行备份,是对全库进行的,当从备份集创建instance即可恢复备份集中的数据,然,由于是全库备份,root,os_admin(trove管理数据库使用的帐号,os_admin拥有root权限),会恢复成旧数据库的密码,如果不作密码重置,trove将不能管理数据库。因此,trove会对恢复后的数据库进行密码重置。
创新互联建站主营石峰网站建设的网络公司,主营网站建设方案,app软件开发,石峰h5微信小程序定制开发搭建,石峰网站营销推广欢迎石峰等地区企业咨询
trove/guestagent/strategies/restore/MySQL_impl.py 236行
def post_restore(self): self._run_prepare() operating_system.chown(self.restore_location, 'mysql', None, force=True, as_root=True) self._delete_old_binlogs() self.reset_root_password() self.app.start_mysql()
从备份集中恢复数据后,self._run_prepare() 将日志应用到数据库,即执行提交日志之类的操作,self_delete_old_binlogs() 删除旧日志文件,因为日志已经提交,不需要旧日志文件了。self.reset_root_password()重置root为空密码。