最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL誤刪數(shù)據(jù)恢復(fù)的操作指南

 更新時(shí)間:2025年12月11日 09:51:00   作者:銘keny  
本文檔詳細(xì)介紹了MySQL誤刪數(shù)據(jù)的恢復(fù)流程,包括驗(yàn)證binlog、數(shù)據(jù)提取、格式轉(zhuǎn)換和批量導(dǎo)入等步驟,通過(guò)示例,展示了如何在物聯(lián)網(wǎng)場(chǎng)景下恢復(fù)時(shí)序數(shù)據(jù),并提供了一系列關(guān)鍵命令和預(yù)防措施以避免誤刪,需要的朋友可以參考下

一、文檔說(shuō)明

本文檔適用于 MySQL 數(shù)據(jù)庫(kù)中數(shù)據(jù)被誤刪(如 TRUNCATE/DELETE 操作)后的恢復(fù)場(chǎng)景,涵蓋 binlog 驗(yàn)證、數(shù)據(jù)提取、格式轉(zhuǎn)換、批量導(dǎo)入 全流程。
本文檔以 labeems 庫(kù)的 meter_data 表為例,適配物聯(lián)網(wǎng)場(chǎng)景下的時(shí)序數(shù)據(jù)恢復(fù),也可通用到其他業(yè)務(wù)表。

二、前置條件

  1. 服務(wù)器環(huán)境:Linux(CentOS 8/openEuler/Ubuntu 均可)
  2. MySQL 版本:5.7+ / 8.0+
  3. 核心依賴:MySQL 已開啟 binlog(二進(jìn)制日志)
  4. 權(quán)限要求:操作需使用 root 用戶,或具備 SELECT/FILE/SUPER 權(quán)限的數(shù)據(jù)庫(kù)賬戶

三、核心概念

術(shù)語(yǔ)說(shuō)明
binlogMySQL 二進(jìn)制日志,記錄所有數(shù)據(jù)修改操作,是誤刪恢復(fù)的核心依據(jù)
ROW 模式binlog 的一種格式,記錄行級(jí)數(shù)據(jù)變更,恢復(fù)精度最高,本文檔默認(rèn)此模式
mysqlbinlogMySQL 官方工具,用于解析 binlog 文件內(nèi)容
INSERT IGNORE插入數(shù)據(jù)時(shí)跳過(guò)主鍵/唯一索引重復(fù)的行,避免恢復(fù)時(shí)的 1062 錯(cuò)誤

四、恢復(fù)操作全流程

步驟1:驗(yàn)證 binlog 是否開啟(關(guān)鍵前提)

1.1 登錄 MySQL 終端

mysql -u root -p

輸入 root 密碼后進(jìn)入 MySQL 命令行。

1.2 查詢 binlog 狀態(tài)

執(zhí)行以下 SQL 命令,確認(rèn) binlog 配置:

-- 核心查詢:是否開啟 binlog
show variables like 'log_bin';
-- 擴(kuò)展查詢:binlog 存儲(chǔ)路徑、格式
show variables like '%binlog%';
  • 結(jié)果解讀
    • log_bin 值為 ON 表示已開啟,OFF 表示未開啟(未開啟則無(wú)法通過(guò) binlog 恢復(fù))
    • log_bin_basename 為 binlog 文件存儲(chǔ)路徑(如 /var/lib/mysql/binlog.000032
    • binlog_format 推薦為 ROW,行級(jí)日志恢復(fù)精度最高

步驟2:提取 binlog 中的誤刪數(shù)據(jù)

2.1 解析 binlog 到文本文件

使用 mysqlbinlog 工具,篩選目標(biāo)表的日志并導(dǎo)出為文本:

# 替換為實(shí)際的 binlog 文件路徑(如 binlog.000032)
mysqlbinlog --base64-output=DECODE-ROWS --verbose /var/lib/mysql/binlog.000032 | grep -A 10 -B 5 'labeems`.`meter_data' > 數(shù)據(jù)記錄2.txt

# 恢復(fù)指定時(shí)間前所有數(shù)據(jù)的解析指令(核心補(bǔ)充)
# 方式1:僅按時(shí)間篩選(恢復(fù)到指定時(shí)間前的所有數(shù)據(jù))
mysqlbinlog --stop-datetime="2025-12-05 10:00:00" --base64-output=DECODE-ROWS /var/lib/mysql/binlog.000032 > /root/binlog_before_time.sql

# 方式2:時(shí)間+表名雙重篩選(精準(zhǔn)恢復(fù)指定表到指定時(shí)間前的數(shù)據(jù))
mysqlbinlog --stop-datetime="2025-12-05 10:00:00" --base64-output=DECODE-ROWS --verbose /var/lib/mysql/binlog.000032 | grep -A 10 -B 5 'labeems`.`meter_data' > /var/lib/mysql/數(shù)據(jù)記錄.txt

# 方式3:多binlog文件按時(shí)間篩選(恢復(fù)多個(gè)文件中指定時(shí)間前的所有數(shù)據(jù))
mysqlbinlog --stop-datetime="2025-12-05 10:00:00" /var/lib/mysql/binlog.000030 /var/lib/mysql/binlog.000031 /var/lib/mysql/binlog.000032 > /root/all_binlog_before_time.sql
  • 參數(shù)說(shuō)明
    • --base64-output=DECODE-ROWS:解碼 ROW 模式的 binlog 內(nèi)容
    • --verbose:輸出詳細(xì)的行數(shù)據(jù)變更記錄
    • --stop-datetime="2025-12-05 10:00:00":核心參數(shù),僅解析/恢復(fù)該時(shí)間點(diǎn)之前的所有數(shù)據(jù)(格式:YYYY-MM-DD HH:MM:SS
    • grep:篩選目標(biāo)表 labeems.meter_data 的日志片段

2.2 驗(yàn)證解析結(jié)果

執(zhí)行以下命令,查看解析后的文件是否包含有效數(shù)據(jù)行:

# 查看前 50 行內(nèi)容,確認(rèn)是否有 @1-@8 字段
head -50 /var/lib/mysql/數(shù)據(jù)記錄.txt
  • 正常結(jié)果示例
### INSERT INTO `labeems`.`meter_data`
### SET
###   @1=415455
###   @2='4006'
###   @3=1754579818
###   @4=1754579820
###   @5=4325.81
###   @6=0.00
###   @7=0.00
###   @8=0.00

步驟3:數(shù)據(jù)格式轉(zhuǎn)換(binlog → 可執(zhí)行 SQL)

3.1 編寫轉(zhuǎn)換腳本(批量生成 INSERT 語(yǔ)句)

新建腳本文件 binlog2sql.sh,用于將 binlog 文本轉(zhuǎn)換為批量恢復(fù) SQL:

vim /root/binlog2sql.sh

粘貼以下內(nèi)容:

#!/bin/bash
# 原始 binlog 文件
INPUT="/var/lib/mysql/數(shù)據(jù)記錄.txt"
# 最終批量 SQL 文件
OUTPUT="meter_data_restore.sql"
# 每2000行合并1條INSERT(83萬(wàn)條僅生成415條)
BATCH_SIZE=2000

# 清空文件,寫入基礎(chǔ)配置
> $OUTPUT
echo "USE labeems;" >> $OUTPUT
echo "SET AUTOCOMMIT=0; BEGIN;" >> $OUTPUT
echo "SET FOREIGN_KEY_CHECKS=0; SET UNIQUE_CHECKS=0;" >> $OUTPUT

# 核心:提取@1-@8并批量拼接VALUES(保留原始單引號(hào))
awk -v bs=$BATCH_SIZE '
BEGIN {
    # 初始化存儲(chǔ)數(shù)組和計(jì)數(shù)器
    vals[1] = ""; vals[2] = ""; vals[3] = ""; vals[4] = "";
    vals[5] = ""; vals[6] = ""; vals[7] = ""; vals[8] = "";
    count=0;          # 累計(jì)行數(shù)
    batch_vals="";    # 存儲(chǔ)批量VALUES內(nèi)容
}

# 匹配@1-@8行,提取值(保留所有原始格式)
/###   @1=/ { vals[1] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[1]); }
/###   @2=/ { vals[2] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[2]); }
/###   @3=/ { vals[3] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[3]); }
/###   @4=/ { vals[4] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[4]); }
/###   @5=/ { vals[5] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[5]); }
/###   @6=/ { vals[6] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[6]); }
/###   @7=/ { vals[7] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[7]); }
/###   @8=/ { 
    vals[8] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[8]);
    
    # 拼接單條VALUES
    single_val = sprintf("(%s, %s, %s, %s, %s, %s, %s, %s)",
        vals[1], vals[2], vals[3], vals[4], vals[5], vals[6], vals[7], vals[8]);
    
    # 累計(jì)到批量變量中
    batch_vals = batch_vals single_val ",";
    count++;
    
    # 每BATCH_SIZE行生成1條批量INSERT
    if (count % bs == 0) {
        # 去掉最后一個(gè)逗號(hào)
        sub(/,$/, "", batch_vals);
        # 寫入批量INSERT(用IGNORE跳過(guò)重復(fù)主鍵)
        print "INSERT IGNORE INTO meter_data (id, meter_code, read_time, insert_time, meter_data, i, u, p) VALUES " batch_vals ";" >> "'"$OUTPUT"'";
        batch_vals="";  # 清空批量變量
    }
}

# 處理最后一批不足BATCH_SIZE的行
END {
    if (batch_vals != "") {
        sub(/,$/, "", batch_vals);
        print "INSERT IGNORE INTO meter_data (id, meter_code, read_time, insert_time, meter_data, i, u, p) VALUES " batch_vals ";" >> "'"$OUTPUT"'";
    }
}
' $INPUT >> $OUTPUT

# 寫入事務(wù)結(jié)束和配置恢復(fù)
echo "COMMIT;" >> $OUTPUT
echo "SET FOREIGN_KEY_CHECKS=1; SET UNIQUE_CHECKS=1;" >> $OUTPUT
echo "SELECT COUNT(*) AS '導(dǎo)入總行數(shù)' FROM meter_data;" >> $OUTPUT

# 驗(yàn)證生成結(jié)果
insert_count=$(grep -c "INSERT IGNORE INTO" $OUTPUT)
total_rows=$(grep -o "(" $OUTPUT | wc -l)

echo "? 批量 SQL 生成完成!文件路徑:$OUTPUT"
echo "?? 批量INSERT數(shù)量:$insert_count 條(每$BATCH_SIZE行1條)"
echo "?? 預(yù)估數(shù)據(jù)總行數(shù):$total_rows 行"

3.2 執(zhí)行轉(zhuǎn)換腳本

# 添加執(zhí)行權(quán)限
chmod +x /root/binlog2sql.sh
# 運(yùn)行腳本
/root/binlog2sql.sh

執(zhí)行成功后,會(huì)在 /root 目錄下生成 meter_data_restore.sql 文件。

步驟4:批量導(dǎo)入恢復(fù)數(shù)據(jù)

4.1 執(zhí)行恢復(fù) SQL

# 基礎(chǔ)批量導(dǎo)入(通用)
mysql -u root -p < /root/meter_data_restore.sql

# 直接恢復(fù)指定時(shí)間前的binlog數(shù)據(jù)(無(wú)需生成中間SQL)
mysqlbinlog --stop-datetime="2025-12-05 10:00:00" /var/lib/mysql/binlog.000032 | mysql -u root -p

輸入 root 密碼后,等待導(dǎo)入完成。

4.2 驗(yàn)證恢復(fù)結(jié)果

執(zhí)行以下命令,驗(yàn)證數(shù)據(jù)是否恢復(fù)成功:

# 查看恢復(fù)總行數(shù)
mysql -u root -p -e "USE labeems; SELECT COUNT(*) AS '實(shí)際恢復(fù)行數(shù)' FROM meter_data;"
# 驗(yàn)證指定數(shù)據(jù)行
mysql -u root -p -e "USE labeems; SELECT id, meter_code, meter_data FROM meter_data WHERE id IN (415455,415456);"
  • 正常結(jié)果示例
+----------------+
| 實(shí)際恢復(fù)行數(shù)   |
+----------------+
| 830000         |
+----------------+

步驟5:異常處理(常見(jiàn)錯(cuò)誤及解決方案)

錯(cuò)誤代碼錯(cuò)誤描述解決方案
1062Duplicate entry ‘xxx’ for key ‘PRIMARY’使用 INSERT IGNORE 替代 INSERT,跳過(guò)重復(fù)主鍵行;批量替換:sed -i 's/INSERT INTO/INSERT IGNORE INTO/g' 恢復(fù).sql
1136Column count doesn’t match value count腳本中已增加字段值非空校驗(yàn),跳過(guò)缺失值的行;定位錯(cuò)誤行:awk -F'[(),]' '/INSERT/ {if(NF%8!=0) print NR,$0}' 恢復(fù).sql
1290–secure-file-priv option 限制將 SQL/CSV 文件移動(dòng)到 secure_file_priv 指定目錄(如 /var/lib/mysql-files/
權(quán)限不足Permission denied執(zhí)行 chown mysql:mysql /var/lib/mysql/數(shù)據(jù)記錄.txt 賦予文件權(quán)限

步驟6:兜底方案(逐條插入,適配極端場(chǎng)景)

若批量導(dǎo)入持續(xù)報(bào)錯(cuò),改用逐條插入方式(犧牲速度,保證成功率):

# 生成逐條 INSERT IGNORE 語(yǔ)句
awk '
BEGIN {
    print "USE labeems; SET FOREIGN_KEY_CHECKS=0; SET UNIQUE_CHECKS=0;"
    vals[1] = ""; vals[2] = ""; vals[3] = ""; vals[4] = "";
    vals[5] = ""; vals[6] = ""; vals[7] = ""; vals[8] = "";
}
/###   @1=/ { vals[1] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[1]); }
/###   @2=/ { vals[2] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[2]); }
/###   @3=/ { vals[3] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[3]); }
/###   @4=/ { vals[4] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[4]); }
/###   @5=/ { vals[5] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[5]); }
/###   @6=/ { vals[6] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[6]); }
/###   @7=/ { vals[7] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[7]); }
/###   @8=/ { 
    vals[8] = substr($0, index($0,"=")+1); gsub(/ /,"",vals[8]);
    if (vals[1] != "" && vals[2] != "" && vals[3] != "" && vals[4] != "" &&
        vals[5] != "" && vals[6] != "" && vals[7] != "" && vals[8] != "") {
        printf "INSERT IGNORE INTO meter_data (id, meter_code, read_time, insert_time, meter_data, i, u, p) VALUES (%s, %s, %s, %s, %s, %s, %s, %s);\n",
            vals[1], vals[2], vals[3], vals[4], vals[5], vals[6], vals[7], vals[8];
    }
}
END {
    print "SET FOREIGN_KEY_CHECKS=1; SET UNIQUE_CHECKS=1; SELECT COUNT(*) FROM meter_data;"
}
' /var/lib/mysql/數(shù)據(jù)記錄.txt > /root/meter_data_single.sql

# 逐條導(dǎo)入(83 萬(wàn)條約 20 分鐘)
mysql -u root -p < /root/meter_data_single.sql

五、預(yù)防措施(關(guān)鍵!避免再次誤刪)

開啟 binlog 并配置合理策略
編輯 /etc/my.cnf 文件,添加以下配置:

[mysqld]
log_bin = /var/lib/mysql/mysql-bin  # 開啟 binlog
server_id = 1                       # 必須配置,唯一值
binlog_format = ROW                 # 行模式,恢復(fù)精度最高
expire_logs_days = 7                # 自動(dòng)清理 7 天前的 binlog

配置完成后,重啟 MySQL 服務(wù):systemctl restart mysqld

定期備份
每日?qǐng)?zhí)行全量備份,結(jié)合 binlog 實(shí)現(xiàn)增量恢復(fù):

# 全量備份腳本示例
mysqldump -u root -p --all-databases > /backup/mysql_full_$(date +%Y%m%d).sql

限制高危操作權(quán)限
普通用戶禁止授予 TRUNCATE/DROP 權(quán)限,僅 DBA 可執(zhí)行高危操作。

操作前校驗(yàn)
執(zhí)行 TRUNCATE/DELETE 前,先執(zhí)行 SELECT 確認(rèn)數(shù)據(jù)范圍,避免誤刪。

使用軟刪除
業(yè)務(wù)層面用 is_delete 字段替代物理刪除,例如:

UPDATE meter_data SET is_delete=1 WHERE id=xxx;

六、附錄

1. binlog 常用命令

# 查看所有 binlog 文件
mysql -u root -p -e "show binary logs;"
# 解析指定時(shí)間范圍的 binlog
mysqlbinlog --start-datetime="2025-12-01 00:00:00" --stop-datetime="2025-12-10 23:59:59" /var/lib/mysql/binlog.000032 > /root/binlog_range.sql
# 恢復(fù)指定時(shí)間前所有數(shù)據(jù)(直接執(zhí)行)
mysqlbinlog --stop-datetime="2025-12-05 10:00:00" /var/lib/mysql/binlog.000032 | mysql -u root -p
# 多binlog文件按時(shí)間恢復(fù)
mysqlbinlog --stop-datetime="2025-12-05 10:00:00" /var/lib/mysql/binlog.000030 /var/lib/mysql/binlog.000031 /var/lib/mysql/binlog.000032 | mysql -u root -p

2. 數(shù)據(jù)備份/恢復(fù)常用工具

工具說(shuō)明適用場(chǎng)景
mysqldump邏輯備份工具中小型數(shù)據(jù)庫(kù)全量備份
xtrabackup物理備份工具(Percona)大型數(shù)據(jù)庫(kù)增量備份
mysqlbinlogbinlog 解析工具誤刪數(shù)據(jù)增量恢復(fù)/指定時(shí)間恢復(fù)

3. 緊急聯(lián)系

若恢復(fù)過(guò)程中遇到無(wú)法解決的問(wèn)題,可:

  1. 查看 MySQL 錯(cuò)誤日志:tail -f /var/log/mysqld.log
  2. 聯(lián)系 DBA 或數(shù)據(jù)庫(kù)運(yùn)維人員
  3. 提交 MySQL 官方社區(qū)工單:https://forums.mysql.com/

七、MySQL 誤刪數(shù)據(jù)恢復(fù)速查命令清單

1. binlog 基礎(chǔ)操作命令

操作目的執(zhí)行命令說(shuō)明
查看 binlog 狀態(tài)mysql -u root -p -e "show variables like 'log_bin%';"檢查是否開啟及存儲(chǔ)路徑
列出所有 binlog 文件mysql -u root -p -e "show binary logs;"查看文件列表及大小
解析指定 binlogmysqlbinlog --base64-output=DECODE-ROWS --verbose 文件名 > 輸出.txt解碼為可讀文本
按時(shí)間篩選解析mysqlbinlog --start-datetime="2025-12-01 00:00:00" --stop-datetime="2025-12-10 23:59:59" 文件名 > 輸出.txt精準(zhǔn)定位誤刪時(shí)間范圍
恢復(fù)指定時(shí)間前所有數(shù)據(jù)`mysqlbinlog --stop-datetime=“2025-12-05 10:00:00” 文件名mysql -u root -p`
按表篩選解析`mysqlbinlog 文件名grep -A 10 -B 5 ‘庫(kù)名.表名’ > 輸出.txt`

2. 數(shù)據(jù)提取與轉(zhuǎn)換命令

操作目的執(zhí)行命令說(shuō)明
生成批量恢復(fù) SQLchmod +x /root/binlog2sql.sh && /root/binlog2sql.sh執(zhí)行轉(zhuǎn)換腳本生成批量 INSERT
生成逐條恢復(fù) SQLawk -f /root/single_sql.awk 數(shù)據(jù)記錄.txt > 恢復(fù).sql適配極端錯(cuò)誤場(chǎng)景
檢查 SQL 語(yǔ)法正確性`head -100 恢復(fù).sqlmysql -u root -p -v`
統(tǒng)計(jì)恢復(fù)數(shù)據(jù)量`grep -o “(” 恢復(fù).sqlwc -l`

3. 數(shù)據(jù)導(dǎo)入與驗(yàn)證命令

操作目的執(zhí)行命令說(shuō)明
批量導(dǎo)入數(shù)據(jù)mysql -u root -p < /root/meter_data_restore.sql高效導(dǎo)入大批量數(shù)據(jù)
逐條導(dǎo)入數(shù)據(jù)mysql -u root -p < /root/meter_data_single.sql犧牲速度保證成功率
驗(yàn)證恢復(fù)總行數(shù)mysql -u root -p -e "USE 庫(kù)名; SELECT COUNT(*) FROM 表名;"確認(rèn)整體恢復(fù)情況
驗(yàn)證指定數(shù)據(jù)mysql -u root -p -e "USE 庫(kù)名; SELECT * FROM 表名 WHERE id IN (xxx,xxx);"精準(zhǔn)校驗(yàn)關(guān)鍵數(shù)據(jù)行
檢查重復(fù)數(shù)據(jù)mysql -u root -p -e "USE 庫(kù)名; SELECT id,COUNT(*) FROM 表名 GROUP BY id HAVING COUNT(*)>1;"排查主鍵重復(fù)問(wèn)題

4. 異常處理命令

錯(cuò)誤類型執(zhí)行命令說(shuō)明
1062 主鍵重復(fù)sed -i 's/INSERT INTO/INSERT IGNORE INTO/g' 恢復(fù).sql全局替換跳過(guò)重復(fù)行
1136 列數(shù)不匹配awk -F'[(),]' '/INSERT/ {if(NF%8!=0) print NR,$0}' 恢復(fù).sql定位錯(cuò)誤行并修正
權(quán)限不足chown mysql:mysql 數(shù)據(jù)文件.txt && chmod 644 數(shù)據(jù)文件.txt賦予文件正確權(quán)限
查看錯(cuò)誤日志tail -f /var/log/mysqld.log實(shí)時(shí)監(jiān)控導(dǎo)入錯(cuò)誤詳情

5. 預(yù)防操作命令

操作目的執(zhí)行命令說(shuō)明
開啟 binlog 配置echo -e "[mysqld]\nlog_bin=/var/lib/mysql/mysql-bin\nserver_id=1\nbinlog_format=ROW" >> /etc/my.cnf配置行模式 binlog
重啟 MySQL 生效systemctl restart mysqld && systemctl enable mysqld重啟服務(wù)并設(shè)置開機(jī)自啟
全量備份數(shù)據(jù)庫(kù)mysqldump -u root -p --all-databases > /backup/mysql_$(date +%Y%m%d).sql每日定時(shí)執(zhí)行全量備份
限制高危權(quán)限mysql -u root -p -e "REVOKE TRUNCATE,DELETE ON *.* FROM '普通用戶'@'localhost';"回收普通用戶高危權(quán)限

以上就是MySQL誤刪數(shù)據(jù)恢復(fù)的操作指南的詳細(xì)內(nèi)容,更多關(guān)于MySQL誤刪數(shù)據(jù)恢復(fù)操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL中UUID主鍵的優(yōu)化小結(jié)

    MySQL中UUID主鍵的優(yōu)化小結(jié)

    UUID可以唯一標(biāo)識(shí)記錄,因此有些場(chǎng)景可能會(huì)用來(lái)作為表的主鍵,本文主要介紹了MySQL中UUID主鍵的優(yōu)化小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09
  • MySQL使用navicat premium 15導(dǎo)出數(shù)據(jù)為批量插入格式實(shí)現(xiàn)方式

    MySQL使用navicat premium 15導(dǎo)出數(shù)據(jù)為批量插入格式實(shí)現(xiàn)方式

    本文介紹了使用Navicat進(jìn)行數(shù)據(jù)傳輸?shù)暮?jiǎn)要步驟,包括選擇數(shù)據(jù)傳輸工具、設(shè)置文件保存路徑、勾選“使用擴(kuò)展插入語(yǔ)句”選項(xiàng)、依次點(diǎn)擊下一步直至傳輸完成
    2025-10-10
  • MySQL?事務(wù)隔離性及鎖處理方式

    MySQL?事務(wù)隔離性及鎖處理方式

    MySQL的事務(wù)隔離性確保了多個(gè)并發(fā)事務(wù)之間的相互隔離,通過(guò)不同的隔離級(jí)別和鎖機(jī)制來(lái)實(shí)現(xiàn),這篇文章給大家介紹MySQL事務(wù)隔離性及鎖處理方式,感興趣的朋友一起看看吧
    2025-12-12
  • mysql字符串拼接的幾種實(shí)用方式小結(jié)

    mysql字符串拼接的幾種實(shí)用方式小結(jié)

    在SQL語(yǔ)句中經(jīng)常需要進(jìn)行字符串拼接,下面這篇文章主要給大家介紹了關(guān)于mysql字符串拼接的幾種實(shí)用方式,文中通過(guò)圖文以及代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • mysql創(chuàng)建本地用戶及賦予數(shù)據(jù)庫(kù)權(quán)限的方法示例

    mysql創(chuàng)建本地用戶及賦予數(shù)據(jù)庫(kù)權(quán)限的方法示例

    這篇文章主要介紹了mysql創(chuàng)建本地用戶及賦予數(shù)據(jù)庫(kù)權(quán)限的相關(guān)資料,文中的介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-04-04
  • mysql5.7.14解壓版的安裝圖文教程

    mysql5.7.14解壓版的安裝圖文教程

    MySQL的安裝有兩種方式,一種為msi格式,一個(gè)是zip格式。這篇文章主要介紹了mysql5.7.14解壓版的安裝圖文教程,需要的朋友可以參考下
    2017-05-05
  • mysql5.7.18.zip免安裝版本配置教程(windows)

    mysql5.7.18.zip免安裝版本配置教程(windows)

    這篇文章主要為大家詳細(xì)介紹了mysql5.7.18.zip安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 21分鐘 MySQL 入門教程

    21分鐘 MySQL 入門教程

    這篇文章主要介紹了MySQL 入門教程,通過(guò)簡(jiǎn)單的介紹基本上可以讓你21分鐘就可以了解下mysql
    2014-06-06
  • MySQL利用分區(qū)表提升大表查詢性能的實(shí)踐指南

    MySQL利用分區(qū)表提升大表查詢性能的實(shí)踐指南

    在互聯(lián)網(wǎng)業(yè)務(wù)飛速發(fā)展的今天,數(shù)據(jù)量激增已經(jīng)成為常態(tài),那么,如何破解大表查詢性能的瓶頸呢,分區(qū)表作為數(shù)據(jù)庫(kù)優(yōu)化中的一項(xiàng)利器,可以幫助我們將龐大數(shù)據(jù)化整為零,下面我們就來(lái)看看具體實(shí)踐方法吧
    2025-09-09
  • mysql動(dòng)態(tài)游標(biāo)學(xué)習(xí)(mysql存儲(chǔ)過(guò)程游標(biāo))

    mysql動(dòng)態(tài)游標(biāo)學(xué)習(xí)(mysql存儲(chǔ)過(guò)程游標(biāo))

    mysql動(dòng)態(tài)游標(biāo)示例,通過(guò)準(zhǔn)備語(yǔ)句、視圖和靜態(tài)游標(biāo)實(shí)現(xiàn),大家參考使用吧
    2013-12-12

最新評(píng)論

余江县| 宁南县| 双柏县| 五河县| 叙永县| 玛沁县| 二手房| 马边| 淮滨县| 和政县| 武义县| 紫阳县| 宁海县| 荆州市| 融水| 奉新县| 乐至县| 凤山市| 通河县| 体育| 漯河市| 崇左市| 富锦市| 绍兴市| 舒城县| 集安市| 二连浩特市| 东宁县| 陆河县| 通海县| 台前县| 澄江县| 凤阳县| 紫金县| 新密市| 江北区| 稻城县| 延吉市| 汾西县| 民丰县| 龙陵县|