mysql-operator
A package for backup / cleanup / migrate mysql database.
Description:
A tool for backup / cleanup / migrate mysql.
This package can make you backup / cleanup / migrate mysql more earlier with python3.
Initial testing data
- download
https://github.com/chienfeng0719/mysql-operator/blob/develop/init.sql - run command
mysql-operator -r init.sql
How To Use:
You can use mysql-operator through command line for backup/restore/drop database as the following example:
CLI
mysql-operator -b foo_bar_db -> backup foo_bar_db
mysql-operator -d foo_bar_db -> drop foo_bar_db
mysql-operator -r backup_2020-10-10.sql -> restore data from backup_2020-10-10.sql
You can also do some advanced operate with python:
Backup
from mysql_operator import BackupOperator
# init object
backup_operator = BackupOperator(hostname='localhost', port=3306, username='root', password='root')
# backup all database
backup_operator.backup()
# backup multiple databases
backup_operator.backup(dbs=['foo_bar_db', 'hello_world_db'])
# backup database『foo_bar_db』
backup_operator.backup(db_name='foo_bar_db', filename='foo_bar_bak_test.sql')
# backup database『foo_bar_db』with tables ['foo_user', 'bar_store']
backup_operator.backup(db_name='foo_bar_db', tables=['foo_user', 'bar_store'], filename='foo_bar_bak_test.sql')
# backup database『foo_bar_db』with table which table name like '%foo%'
backup_operator.pattern_backup(db_name='foo_bar_db', pattern='%foo%', filename='foo_bar_bak_test.sql')
# backup database『foo_bar_db』with table 'bar_store' where id <= 2 AND branch '%Jammu%'
backup_operator.filter_backup(db_name='foo_bar_db',
table_name='bar_store',
filter_="id <= 2 AND branch like '%Jammu%'",
filename='foo_bar_bak_test.sql')
# restore backup
backup_operator.restore(db_name='foo_bar_db', filename='foo_bar_bak_test.sql')
NOTICE: The filter_ argument with filter_backup must use double quotes
Cleanup
from mysql_operator import CleanupOperator
# init object
cleanup_operator = CleanupOperator(hostname='localhost', port=3306, username='root', password='root')
# drop all tables in『foo_bar_db』
cleanup_operator.drop(db_name='foo_bar_db')
# drop database『hello_world_db』
cleanup_operator.drop(db_name='hello_world_db', keep_db=False)
# drop tables ['foo_user', 'bar_weather'] in『foo_bar_db』
cleanup_operator.drop(db_name='foo_bar_db', tables=['foo_user', 'bar_weather'])
# drop tables in『foo_bar_db』 which table name like '%foo%'
cleanup_operator.pattern_drop(db_name='foo_bar_db', pattern='%foo%')
Migrate
from mysql_operator import MigrateOperator
# init object
migrate_operator = MigrateOperator(hostname='localhost',
port=3306,
username='root',
password='root',
target_hostname='192.168.1.1',
target_port=3306,
target_username='root',
target_password='root')
# import all database from target host
migrate_operator.import_database()
# import database『foo_bar_db』from target host
migrate_operator.import_database(db_name='foo_bar_db')
# export all database from to host
migrate_operator.export_database()
# export database『foo_bar_db』to target host
migrate_operator.export_database(db_name='foo_bar_db')
Buy me a coffee, if you like it!
Metadata
Release files for mysql-operator 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mysql-operator-1.0.0.tar.gz | 6.0 kB | Without provenance | Details for mysql-operator-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mysql_operator-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for mysql_operator-1.0.0-py3-none-any.whl |
Total release size: 14.0 kB
Release files / mysql-operator-1.0.0.tar.gz
| Download URL | mysql-operator-1.0.0.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
96ee346329a5b0967a2eecc5bea14bc3358be14b20d698a3149c858c97165825
|
|
BLAKE2b-256 checksum How to use checksums |
e2a279484201560d5a76ade1fa4f8047641b49a92ae18fb826dd38dc54bacdf2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6
|
Release files / mysql_operator-1.0.0-py3-none-any.whl
| Download URL | mysql_operator-1.0.0-py3-none-any.whl |
|---|---|
| Size | 8.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d6ce1a32bd74df40bca19e412281c483d30a8d57fff529c5a51a4deb08ead667
|
|
BLAKE2b-256 checksum How to use checksums |
ca99ec7e5212940ff67205959c6e857bb3b2584eec303517961dbdadbbc88ff0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6
|
Security for mysql-operator 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.