Я хочу проанализировать файл mysql.log.Вот содержание моего файла.Я хочу напечатать метку времени, идентификатор потока, команду, аргумент.И если какой-либо контент отсутствует в строке, выведите это конкретное значение.Как и в 1-й строке, «700» - это thread_id, а «Quit» - это команда, но нет времени и аргумента.Так что выведите только thread_id и команду.
/usr/sbin/mysqld, Version: 5.5.61-0ubuntu0.14.04.1-log ((Ubuntu)). started with:
Tcp port: 3306 Unix socket: /var/run/mysqld/mysqld.sock
Time Id Command Argument
700 Quit
190207 11:11:24 701 Connect root@localhost on db_services
701 Query SET SESSION sql_mode =
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
@@sql_mode,
"STRICT_ALL_TABLES,", ""),
",STRICT_ALL_TABLES", ""),
"STRICT_ALL_TABLES", ""),
"STRICT_TRANS_TABLES,", ""),
",STRICT_TRANS_TABLES", ""),
"STRICT_TRANS_TABLES", "")
701 Query SET NAMES utf8
190207 11:11:26 701 Quit
190207 11:11:27 702 Connect root@localhost on db_services
702 Query SET SESSION sql_mode =
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
@@sql_mode,
"STRICT_ALL_TABLES,", ""),
",STRICT_ALL_TABLES", ""),
"STRICT_ALL_TABLES", ""),
"STRICT_TRANS_TABLES,", ""),
",STRICT_TRANS_TABLES", ""),
"STRICT_TRANS_TABLES", "")
702 Query SET NAMES utf8
702 Quit
190207 11:11:29 703 Connect root@localhost on db_services
703 Query SET SESSION sql_mode =
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
@@sql_mode,
"STRICT_ALL_TABLES,", ""),
",STRICT_ALL_TABLES", ""),
"STRICT_ALL_TABLES", ""),
"STRICT_TRANS_TABLES,", ""),
",STRICT_TRANS_TABLES", ""),
"STRICT_TRANS_TABLES", "")
703 Query SET NAMES utf8
703 Quit
704 Connect root@localhost on db_services
704 Query SET SESSION sql_mode =
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
@@sql_mode,
"STRICT_ALL_TABLES,", ""),
",STRICT_ALL_TABLES", ""),
"STRICT_ALL_TABLES", ""),
"STRICT_TRANS_TABLES,", ""),
",STRICT_TRANS_TABLES", ""),
"STRICT_TRANS_TABLES", "")
704 Query SET NAMES utf8
190207 11:11:30 704 Query SELECT `clientID`
FROM `authentication`
704 Query SELECT `privatekey`
FROM `authentication`
WHERE `clientID` = '1'
И вывод будет как
timestamp: '', thread_id:'700', command:'Quit', argument:''
timestamp: '190207 11:11:24', thread_id:'701', command:'Connect', argument:'root@localhost on db_services'
timestamp: '', thread_id:'701', command:'Query', argument:'SET SESSION sql_mode =
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
@@sql_mode,
"STRICT_ALL_TABLES,", ""),
",STRICT_ALL_TABLES", ""),
"STRICT_ALL_TABLES", ""),
"STRICT_TRANS_TABLES,", ""),
",STRICT_TRANS_TABLES", ""),
"STRICT_TRANS_TABLES", "")'
and so on.