| New file |
| | |
| | | # æ°æ®åºå¤ä»½ä¸è¿åæä½æ¥éª¤ï¼traffic_auditï¼ |
| | | |
| | | > æ´çäº 2026-09-21ã**å¤ä»½ = ç¨ mysqldump 导åºå
¨åº sql**ï¼**è¿å = æè¿ä¸ª sql åå mysql**ã |
| | | > é¢åèªå·±å¨ææä½ï¼å½ä»¤é½å¯ä»¥ç´æ¥å¤å¶ã |
| | | |
| | | ## 0. ç¯å¢éæ¥ |
| | | |
| | | | 项 | å¼ | |
| | | | --- | --- | |
| | | | æå¡ç«¯ | MySQL **8.0.29**ï¼`127.0.0.1:3308` | |
| | | | åº / è´¦å· | åº `traffic_audit`ï¼è´¦å· `root` / `123456` | |
| | | | **导åºå·¥å
·** | `C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe`ï¼**å¿
é¡»ç¨ 8.0 è¿ä¸ª**ï¼ä¸æå¡ç«¯åçæ¬ï¼ | |
| | | | æ¥å¸¸æ¥æ°å®¢æ·ç«¯ | `D:\mysql\mysql-5.7.41-winx64\bin\mysql.exe` | |
| | | |
| | | **两个åå
è®°ä½** |
| | | |
| | | 1. è¿æ¥åæ°å `--host=127.0.0.1`ï¼åæ `-h127.0.0.1` ä¼è¢«è§£ææä¸»æºå `127`ï¼ç´æ¥è¿ä¸ä¸ã |
| | | 2. è¾åºæä»¶ç¨ `--result-file=` 让 mysqldump èªå·±åï¼ä¸è¦ç¨ `>` éå®åï¼ä¸æè·¯å¾ + PowerShell å¼å·å®¹æç¿»è½¦ï¼ã |
| | | |
| | | --- |
| | | |
| | | ## 1. å¤ä»½ï¼å¯¼åºå
¨åºï¼ |
| | | |
| | | ```powershell |
| | | $ts = Get-Date -Format 'yyyyMMdd_HHmmss' |
| | | $dir = 'D:\backup' # è·¯å¾ä¸è¦çç©ºæ ¼ |
| | | New-Item -ItemType Directory -Force $dir | Out-Null |
| | | $out = Join-Path $dir "traffic_audit_full_$ts.sql" |
| | | |
| | | & 'C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe' ` |
| | | --host=127.0.0.1 --port=3308 --user=root --password=123456 ` |
| | | --default-character-set=utf8mb4 ` |
| | | --single-transaction --routines --triggers --events --hex-blob ` |
| | | --databases traffic_audit ` |
| | | --result-file=$out |
| | | |
| | | "exit=$LASTEXITCODE" |
| | | Get-Item $out | Select-Object Name, Length, LastWriteTime |
| | | ``` |
| | | |
| | | **æå夿®**ï¼`exit=0`ï¼æä»¶æå å MBï¼ä¸æä»¶æåä¸è¡æ¯ `-- Dump completed on ...`ï¼æ²¡æå°±æ¯ä¸éæäºï¼ã |
| | | |
| | | æ¯ä¸ªåæ°çä½ç¨ï¼ |
| | | |
| | | | åæ° | ä½ç¨ | |
| | | | --- | --- | |
| | | | `--host=127.0.0.1 --port=3308` | æ¬æºæå¡ç«¯ç«¯å£ï¼è§ä¸ã两个åãï¼ | |
| | | | `--default-character-set=utf8mb4` | 䏿ä¸ä¹±ç ï¼**å¿
带** | |
| | | | `--single-transaction` | ä¸è´æ§å¿«ç
§ï¼å¯¼åºæé´ä¸é表ï¼å«äººç
§æ ·è½ç¨ç³»ç» | |
| | | | `--databases traffic_audit` | è¿ `CREATE DATABASE` + `USE` ä¸èµ·å¯¼ â åäºæ¿å°**å个æä»¶**å°±è½æ´åºè¿å | |
| | | | `--routines --triggers --events` | æ¬åºç®å没æè¿ç±»å¯¹è±¡ï¼å为 0ï¼ï¼å¸¦ä¸åªæ¯é²å°æ¥æ | |
| | | | `--hex-blob` | äºè¿å¶åå®å
¨å¯¼åº | |
| | | | `--result-file=...` | ç´æ¥åæä»¶ï¼ç»å¼éå®åçç¼ç /å¼å·é®é¢ | |
| | | |
| | | > åªå¯¼æå å¼ è¡¨ï¼æ `--databases traffic_audit` æ¢æ `traffic_audit 表1 表2`ï¼æ¤æ¶ä¸å¸¦å»ºåºè¯å¥ï¼åªå¯¼ç»æåæ°æ®ï¼ã |
| | | |
| | | --- |
| | | |
| | | ## 2. éªè¯ãæ¯ä¸æ¯ç导å
¨äºãï¼ä¸æ¥ï¼å¼ºåº¦éå¢ï¼ |
| | | |
| | | 导åºå®**ä¸è¦ç´æ¥å人**ï¼æä¸é¢ä¸æ¥æ ¸ã |
| | | |
| | | ### 第 1 æ¥ï¼ç»æé½ä¸é½ |
| | | |
| | | ```powershell |
| | | # å¤ä»½éç CREATE TABLE æ¡æ° |
| | | (Select-String -Path $out -Pattern '^CREATE TABLE' -Encoding UTF8).Count |
| | | |
| | | # åºéå®é
è¡¨æ° |
| | | & 'D:\mysql\mysql-5.7.41-winx64\bin\mysql.exe' --host=127.0.0.1 --port=3308 --user=root --password=123456 ` |
| | | -N -B -e "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='traffic_audit';" |
| | | ``` |
| | | |
| | | 两个æ°ç¸çï¼æ¬åºæ¯ **29**ï¼æç®ç»æé½ã顺带确认没æ mysqldump 导ä¸åºæ¥çå¯¹è±¡ï¼ |
| | | |
| | | ```powershell |
| | | & 'D:\mysql\mysql-5.7.41-winx64\bin\mysql.exe' --host=127.0.0.1 --port=3308 --user=root --password=123456 -e ` |
| | | "SELECT (SELECT COUNT(*) FROM information_schema.views WHERE table_schema='traffic_audit') è§å¾, |
| | | (SELECT COUNT(*) FROM information_schema.routines WHERE routine_schema='traffic_audit') åå¨è¿ç¨, |
| | | (SELECT COUNT(*) FROM information_schema.triggers WHERE trigger_schema='traffic_audit') 触åå¨, |
| | | (SELECT COUNT(*) FROM information_schema.events WHERE event_schema='traffic_audit') äºä»¶;" |
| | | ``` |
| | | |
| | | ### 第 2ã3 æ¥ï¼è¿åå°ä¸´æ¶åºï¼æ¯è¡æ° + æ¯å
容 |
| | | |
| | | åçï¼æå¤ä»½éçåºåæ¢æ `traffic_audit_vfy` 导è¿ä¸´æ¶åºï¼ä¸æºåºé表æ¯å¯¹ï¼æ¯å®å åºã |
| | | |
| | | ```powershell |
| | | $root = 'D:\ææ¡£\ChatGPT\traffic-audit' |
| | | $vfySql = "$root\_tmp\_verify.sql" |
| | | |
| | | # 2.1 æ¢åºåï¼ç¨ 28591 ç¼ç åãæåèæ¿æ¢ãï¼ä¸ä¼å¨åä¸æï¼ |
| | | $enc = [System.Text.Encoding]::GetEncoding(28591) |
| | | $s = $enc.GetString([System.IO.File]::ReadAllBytes($out)) |
| | | [System.IO.File]::WriteAllBytes($vfySql, $enc.GetBytes($s.Replace('`traffic_audit`', '`traffic_audit_vfy`'))) |
| | | |
| | | # 2.2 导å
¥ä¸´æ¶åºï¼cmd ç < éå®åæçäºï¼ |
| | | $mysql = 'C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe' |
| | | & $mysql --host=127.0.0.1 --port=3308 --user=root --password=123456 -e 'DROP DATABASE IF EXISTS traffic_audit_vfy;' |
| | | cmd /c "`"$mysql`" --host=127.0.0.1 --port=3308 --user=root --password=123456 --default-character-set=utf8mb4 < `"$vfySql`"" |
| | | |
| | | # 2.3 é表æ¯è¡æ° |
| | | $tables = & $mysql --host=127.0.0.1 --port=3308 --user=root --password=123456 -N -B ` |
| | | -e "SELECT table_name FROM information_schema.tables WHERE table_schema='traffic_audit' ORDER BY table_name;" |
| | | & $mysql --host=127.0.0.1 --port=3308 --user=root --password=123456 -B -e (($tables | |
| | | ForEach-Object { "SELECT '$_' 表,(SELECT COUNT(*) FROM traffic_audit.$_) æºåº,(SELECT COUNT(*) FROM traffic_audit_vfy.$_) å¤ä»½" }) -join ' UNION ALL ') |
| | | ``` |
| | | |
| | | éè¡¨ä¸¤åæ°åä¸è´ â è¡æ°é½ã |
| | | |
| | | **æå¼ºç䏿¥ï¼æ¯å
容ï¼SHA256ï¼**ãä¸¤å¼ è¡¨è¡æ°ä¸æ ·ãå
容被æ¹è¿ï¼ä¸é¢çæ¹æ³çä¸åºæ¥ï¼è¿ä¸ªæ¹æ³è½ï¼ |
| | | |
| | | ```powershell |
| | | $md = 'C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe' |
| | | $common = '--host=127.0.0.1','--port=3308','--user=root','--password=123456','--default-character-set=utf8mb4', |
| | | '--single-transaction','--no-create-info','--skip-comments','--order-by-primary','--hex-blob','--compact' |
| | | & $md @common traffic_audit "--result-file=$root\_tmp\_cmp_src.sql" |
| | | & $md @common traffic_audit_vfy "--result-file=$root\_tmp\_cmp_vfy.sql" |
| | | (Get-FileHash "$root\_tmp\_cmp_src.sql").Hash -eq (Get-FileHash "$root\_tmp\_cmp_vfy.sql").Hash # True æç®å
¨ |
| | | ``` |
| | | |
| | | - `--order-by-primary`ï¼æä¸»é®æåºå¯¼åºï¼ä¿è¯ä¸¤ä»½æä»¶è¡é¡ºåºä¸è´ï¼æè½ç´æ¥æ¯åå¸ï¼æ¬åº 29 å¼ è¡¨**齿䏻é®**ã |
| | | - ç»æ `True` â éè¡å
容å®å
¨ä¸è´ã |
| | | |
| | | **æ¶å°¾**ï¼éªè¯å®æä¸´æ¶åºå æï¼å«ç卿å¡å¨ä¸ï¼ï¼ |
| | | |
| | | ```powershell |
| | | & 'C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe' --host=127.0.0.1 --port=3308 --user=root --password=123456 ` |
| | | -e 'DROP DATABASE IF EXISTS traffic_audit_vfy;' |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ## 3. è¿åï¼æå¤ä»½è£
å°è¿å°æå¦ä¸å°æºå¨ï¼ |
| | | |
| | | ```powershell |
| | | cmd /c "`"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe`" --host=127.0.0.1 --port=3308 --user=root --password=123456 --default-character-set=utf8mb4 < `"D:\backup\traffic_audit_full_20260921_103457.sql`"" |
| | | ``` |
| | | |
| | | - å¤ä»½éå« `CREATE DATABASE`ï¼**空ç¯å¢**ç´æ¥è·å³å¯ã |
| | | - ç®æ åº**å·²æåååº**æ¶ï¼`CREATE DATABASE IF NOT EXISTS` 䏿¥éï¼ä½åé¢ `CREATE TABLE` ä¼å 表已åå¨è失败ãåé䏿ãè¦ä¹å
`DROP DATABASE traffic_audit;`ï¼è¦ä¹å
确认æ¯ç©ºç¯å¢ã |
| | | - **ä¸è¦**æ¿ `docs/init.sql` å»è¡¥å·²ææ°æ®çåºï¼å®å¸¦ `DROP TABLE`ï¼æ¯ç ´åæ§çã |
| | | |
| | | --- |
| | | |
| | | ## 4. 常è§é®é¢ |
| | | |
| | | | ç°è±¡ | åå / å¤ç | |
| | | | --- | --- | |
| | | | `mysqldump: [Warning] Using a password on the command line interface can be insecure.` | åªæ¯è¦åï¼ä¸å½±åç»æï¼æ³æ¶æå¯ç¨ `--defaults-extra-file` æ¾å¯ç | |
| | | | 导å
¥æ¥ `Table 'xxx' already exists` | ç®æ åºä¸æ¯ç©ºçï¼è§ä¸ï¼ | |
| | | | 导å
¥æ¥ `Unknown database` | ç¨ `--databases` 导åºçå¤ä»½ä¸ä¼åºç°ï¼å¦æåªå¯¼äºè¡¨ï¼æ²¡å¸¦å»ºåºè¯å¥ï¼ï¼è¦èªå·±å
`CREATE DATABASE traffic_audit` | |
| | | | 䏿åé®å·/ä¹±ç | 导åºã导å
¥ä¸¤å¤´é½è¦ `--default-character-set=utf8mb4` | |
| | | | å¤ä»½æä»¶åªæå ç¾ KB | åæå
«ä¹æ¯ `--databases` åéåºåæè¿æ¥å¤±è´¥ï¼çéåºç åæä»¶æ«å°¾ææ²¡æ `Dump completed` | |
| | | | æ³åªå¤ä»½ä¸å¼ 表 | `mysqldump ... traffic_audit 表å --result-file=...` | |
| | | |
| | | --- |
| | | |
| | | ## 5. æ¬æ¬¡å®æµè®°å½ï¼2026-09-21ï¼ |
| | | |
| | | - å¤ä»½æä»¶ï¼`_ç»åäº_2026-09-21\traffic_audit_full_20260921.sql`ï¼52,030,977 åèï¼çº¦ 49.6 MBï¼ï¼å¯¼åºæ¶é´ 10:34:57ã |
| | | - SHA256ï¼`832B518F45313420...`ï¼å®æ´å¼è§ `_ç»åäº_2026-09-21\è¿å说æ_2026-09-21.md`ï¼ã |
| | | - éªè¯ç»æï¼29/29 å¼ è¡¨ç»æé½ãè¡æ°ä¸è´ï¼å计 128,962 è¡ï¼ã`CHECKSUM TABLE` ä¸è´ãéè¡ SHA256 ä¸è´ã |
| | | - **ç»éªæè®**ï¼10:17 å
导äºä¸ä»½ï¼10:34 夿¥åç°æºåºå·²è¢«æ¹å¨ï¼`investment_system` 148â277ã`audit_result` 3393â3421ã`import_batch` 417â419ï¼ï¼æ§å¤ä»½å·²è¿æã |
| | | â **å¤ä»½æ¯æä¸æ¶å»çå¿«ç
§**ï¼åªè¦ä¹åè¿å¨å¾ç³»ç»éå¯¼æ°æ®ãè·å®¡æ ¸ï¼å¤ä»½å°±æ§äºã交ä»/彿¡£å**æåå坼䏿¬¡**ã |
| | | |
| | | > 夿å¤ä»½æ°æ§çæå¿«åæ³ï¼çæä»¶åéçæ¶é´æ³ï¼ä¸ `import_batch` ç `MAX(created_at)` æ¯ä¸ä¸ã |