回滚脚本示例:
from pymysql import connect
mysql_path = 'C:\\Program Files (x86)\\Ampps\\mysql\\bin\\'
mysql_user = 'root'
mysql_password = ''
mysql_port = '3306'
mysql_database = 'mysql'
with connect(host="localhost",
user=mysql_user,
password=mysql_password,
db=mysql_database,
charset='utf8mb4',
cursorclass=cursors.DictCursor) as conn:
with conn.cursor() as cursor:
try:
# stop mysql process
cursor.execute("SET GLOBAL general_log = 'OFF'")
cursor.execute("set AUTOCOMMIT=0")
cursor.execute("SET SQL_SAFE_UPDATES = 0")
cursor.execute("SET FOREIGN_KEY_CHECKS = 0")
# delete the old tables
cursor.execute("DROP TABLE IF EXISTS `audit_log`")
cursor.execute("DROP TABLE IF EXISTS `column_stats`")
cursor.execute("DROP TABLE IF EXISTS `engine_cost`")
# add the new tables
cursor.execute("CREATE TABLE `audit_log` ( `ID` bigint unsigned NOT NULL AUTO_INCREMENT, `EVENT_TIME` datetime(6) NOT NULL, `USER_HOST` varchar(4096) NOT NULL, `THREAD_ID` bigint unsigned NOT NULL, `SERVER_ID` int unsigned NOT NULL, `COMMAND_TYPE` varchar(64) NOT NULL, `ARGUMENTS` blob NOT NULL, PRIMARY KEY (`ID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci MYSQL_ROW_FORMAT=DYNAMIC COMMENT='Audit Log Filter'")
cursor.execute("CREATE TABLE `column_stats` ( `db` varchar(64) NOT NULL, `table_name` varchar(64) NOT NULL, `column_name` varchar(64) NOT NULL, `min_val` blob, `max_val` blob, `null