centos7.9自带的python为2.7.5
使用前提
1. mysql的binlog_format为row
需要开启mysql的log-bin
直接在/etc/my.cnf中添加
binlog_format=row
2、在离线环境下,可手动安装这些包。
目前,这些包由某位大佬打包好,并上传到百度云盘中,大家可自行下载。
http://pan.baidu.com/s/1qYQ2PPy
注意:包里的pymysql版本过低,请使用pymysql0.9.3版本
安装教程:
解压所有包
# tar xvf binlog2sql.tar.gz
安装setuptools
# cd binlog2sql/binlog2sql_dependencies/
# tar xvf setuptools-0.6c11.tar.gz
# cd setuptools-0.6c11
# python setup.py install
安装pip
# cd ..
# tar xvf pip-9.0.1.tar.gz
# cd pip-9.0.1
# python setup.py install
# cd ..
安装相关wheel,这里需要下载pymysql0.9.3版本替换目录里的pymysql旧版本
# pip install *.whl mysql-replication-0.9.tar.gz --pymysql使用0.9.3版本
3、测试语句
python binlog2sql.py -h 192.168.244.20 -P 3306 -u root -p 123456 -d test -t test --start-file='mysql-bin.000022'
binlog2sql.py 需要在binlog2sql的bin下执行,不然就以binlog2sql的绝对路径来执行
-h mysql服务器的IP
-P mysql的访问端口
-u mysql用户
-p mysql用户密码
-d mysql数据库名
-t mysql表名
--start-file 开启log-bin之后在mysql命令行模式下 show master status;即可获取