payu / mysql-dump-anonymizer
MySQL转储匿名化工具。可作为独立程序或库使用。
v0.2.0
2023-08-16 11:12 UTC
Requires
- php: ^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0
- ext-json: *
- myclabs/php-enum: ^1.7.1
- symfony/yaml: ^5.0
Requires (Dev)
- mnapoli/pretty: ^1.2
- phpunit/phpunit: ^9.6
- qossmic/deptrac-shim: ^0.24
- squizlabs/php_codesniffer: ^3.7
- dev-master
- v0.2.0
- v0.1.1
- dev-add_php8_support
- dev-add_php8_support_with_tests_fixes
- dev-update_dev_libraries
- dev-prepare_publish_as_library
- dev-fallback_feature
- dev-update_readme
- dev-deptrac-upgrade
- dev-duplicate-emails
- dev-blob-serialized
- dev-dockerfile-update
- dev-fix_unserialize_notices
- dev-poor_man_perf_test
- dev-generate_letter_pool
- dev-anon_speed_show
- dev-small_perf_improve_anon_provider_Calls
- dev-improve_dumper
- dev-fix_parser_bug_and_improve_speed
- dev-dockerfile
- dev-anon-script
- dev-add-travis
This package is auto-updated.
Last update: 2024-09-16 14:46:16 UTC
README
进行中
此库处理MySQL转储文件的解析和匿名化,使用数据类型和规则。必须使用以下选项导出MySQL转储文件:
- --skip-add-drop-table
- --skip-add-locks
- --skip-comments
- --skip-disable-keys
- --skip-set-charset
- --compact (以上所有5个选项)
- --complete-insert
- --hex-blob
- --extended-insert (默认开启)
可选,用于提高速度
- --quick (默认开启,用于加快导出速度)
- --innodb-optimize-keys (用于加快导入)
可选,用于保持一致性
- --skip-lock-tables
- --single-transaction (自动启用上述选项)
- --lock-for-backup (Percona特有选项)
基本命令如下:
mysqldump --complete-insert --hex-blob --innodb-optimize-keys --single-transaction --lock-for-backup <数据库>
其输出可以直接传递给匿名化工具。
使用--compact选项时,转储文件将不会有源服务器的@@SQL_MODE设置。当处理类似STRICT_TRANS_TABLES / NO_ZERO_IN_DATE的选项时,可能会出现问题。
检查目标服务器的系统变量net_buffer_length
和max-allowed-packet
,确保其值至少与源服务器相同。
或将SQL文件作为输入和输出传递
php bin/mysql-dump-anonymize.php --config=FILENAME <databse-dump.sql >databse-dump-anonymized.sql
Usage: mysqldump [options] <source-db> | php mysql-dump-anonymize.php --config=FILENAME [OPTIONS] | mysql [options] -D <destination-db>
mysql-dump-anonymize.php options:
--config-type Default Value: yaml
Specifies the type of the config used.
--line-parser Default Value: mysqldump
Specifies the type of the line parser used.
--dump-size When available, specify the length of the data being anonymized.
This will be used to show progress data at runtime.
--show-progress Default value: 1
Set to 0 to not show progress data.
--salt Default value: md5(microtime())
Specifies the hashing salt value at runtime.