Skip to content
This repository was archived by the owner on Feb 13, 2026. It is now read-only.

Commit 42c6f53

Browse files
author
vcdf曹单锋
committed
support interactive password input
1 parent fdb3fbd commit 42c6f53

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

binlog2sql/binlog2sql_util.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55
import sys
66
import argparse
77
import datetime
8+
import getpass
89
from contextlib import contextmanager
10+
from pymysqlreplication.event import QueryEvent
911
from pymysqlreplication.row_event import (
1012
WriteRowsEvent,
1113
UpdateRowsEvent,
1214
DeleteRowsEvent,
1315
)
14-
from pymysqlreplication.event import QueryEvent
16+
1517

1618
if sys.version > '3':
1719
PY3PLUS = True
@@ -58,7 +60,7 @@ def parse_args():
5860
help='Host the MySQL database server located', default='127.0.0.1')
5961
connect_setting.add_argument('-u', '--user', dest='user', type=str,
6062
help='MySQL Username to log in as', default='root')
61-
connect_setting.add_argument('-p', '--password', dest='password', type=str,
63+
connect_setting.add_argument('-p', '--password', dest='password', type=str, nargs='*',
6264
help='MySQL Password to use', default='')
6365
connect_setting.add_argument('-P', '--port', dest='port', type=int,
6466
help='MySQL port to use', default=3306)
@@ -116,6 +118,10 @@ def command_line_args(args):
116118
if (args.start_time and not is_valid_datetime(args.start_time)) or \
117119
(args.stop_time and not is_valid_datetime(args.stop_time)):
118120
raise ValueError('Incorrect datetime argument')
121+
if not args.password:
122+
args.password = getpass.getpass()
123+
else:
124+
args.password = args.password[0]
119125
return args
120126

121127

0 commit comments

Comments
 (0)