MySQL数据备份percona-xtrabackup工具
备份
#docker run --rm -v /back:/back -v /var/lib/mysql:/var/lib/mysql:ro -it yfix/percona-xtrabackup bash
使用innobackupex不能使用远程进备份需要吧目录给挂载到容器中去并且吧备份好的数据拿到自己准备好的目录中去
执行上面命令后进入到容器中去接下来就是对数据进行备份的步骤了
#innobackupex --password=123456 --user=root --host=172.17.0.1 --no-timestamp /back
这里备份的时候后记得写上备份的主机ip并且要对该主机ip授权以保证能链接到备份到数据
181204 06:28:04 completed OK!
备份完成
还原备份
#innobackupex --default-file=/back/backup-my.cnf --apply-log /back/
181204 06:32:09 completed OK!
还原成功
修改权限
迁移文件到默认目录或将mysql 的默认目录指向还原的目录就正常可以启动了
使用docker 启动mysql 服务
docker run --rm -e MYSQL_ROOT_PASSWORD="123456" -v /back:/var/lib/mysql mysql mysqld --lower_case_table_names=1 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
这样启动数据库,环境变量传进去的密码是无效的因为启动的时候是读取本地的
完成