docker卸载mysql_docker安装mysql并使用binlog解决误删除问题

docker pull hub.c.163.com/library/mysql #下载mysql的镜像

docker run -d --name mysql1 -p 8083:3306 -v mysqlv1:/var/lib/mysql --privileged -e MYSQL_ROOT_PASSWORD=mysql@2020 hub.c.163.com/library/mysql --lower_case_table_names=1 #启动mysql 挂载的数据卷为mysqlv1,表名不区分大小写

docker exec -t -i mysql1 /bin/bash #进入mysql容器

mysql -uroot -p #登陆mysql

grant all privileges on *.* to 'root'@'%'; #允许远程登陆

flush privileges; #刷新权限

exist; #退出容器

docker volume ls #查看所有的数据卷

docker volume inspect mysqlv1 #查看数据卷详情

# 开启mysql的binlog 先进入mysql的容器

apt-get update

apt-get install vim

vim /etc/mysql/mysql.conf.d/mysqld.cnf

###### 添加以下内容 ######

server_id = 1

log_bin = /var/log/mysql/mysql-bin.log

max_binlog_size = 1G

binlog_format = row

binlog_row_image = full

###### end ######

docker restart mysql1 #重启mysql

#使用binlog2sql查看binlog的内容

yum -y install epel-release

yum -y install git python-pip

git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql

pip install -r requirements.txt

#创建数据库test,创建表student,然后执行插入数据,删除数据,更新数据的操作

# 查看mysql的binlog文件的位置,在navicat执行

show master logs

show binlog events in 'mysql-bin.000001';

python binlog2sql.py -h127.0.0.1 -P8083 -uroot -p mysql@2020 -d test -t student --start-file mysql-bin.000001 > ~/student.sql #在宿主机执行,将binlog文件转成sql

#配置文件改错了可能导致无法启动

docker cp mysql1:/etc/mysql/mysql.conf.d/mysqld.cnf /root/mysqld.cnf #从容器中复制文件出来

docker cp /root/mysqld.cnf mysql1:/etc/mysql/mysql.conf.d/mysqld.cnf #把文件放回容器中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值