日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Windows 服務器中使用 mysqldump 命令導出數據中文亂碼問題的解決方案

瀏覽:324日期:2023-02-28 17:21:52
目錄
  • 起因
  • 解決辦法
    • 檢查編碼
    • 解決方案一(不適用)
    • 解決方案二(不可行)
    • 最終方案

起因

環境:阿里云服務器(windows server)、mysql(8.0.11)

mysql> select @@version;+-----------+| @@version |+-----------+| 8.0.11    |+-----------+1 row in set

在windows服務器中每天備份一次數據庫數據,防止出現各種意外。這里就使用了mysql的 mysqldump 服務來導出備份,備份初始腳本如下

@echo offset hour=%time:~0,2%if "%time:~0,1%"==" " set hour=0%time:~1,1%set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2%echo %now%set host=127.0.0.1set port=3306set user=rootset pass=馬賽克# 要備份的數據庫,這里我項目的數據庫是 xxx_projectset dbname=xxx_project# 備份文件所在的位置,這里我固定放在 C:\MysqlDataBackups\ 下面,%dbname%-%now%.sql 是要生成的文件名稱set backupfile=C:\MysqlDataBackups\%dbname%-%now%.sql# 運行備份命令 C:\mysql-8.0.11-winx64\bin\mysqldump 是我 mysql 安裝目錄下 mysqldump 所在的位置"C:\mysql-8.0.11-winx64\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%echo delete files before 10 daysforfiles /p E:\MysqlDataBackups /s /m *.sql /d -60 /c "cmd /c del @file /f"@echo on

命令保存為 bat 文件,雙擊執行,能成功在 C:\MysqlDataBackups\ 下面生成一個文件

但是,當我們打開文件看的時候,發現里面的備注,中文相關的都是亂碼(PS:Notepad++ 軟件打開不會,可能是因為這個軟件比較智能)

解決辦法

檢查編碼

  • 這里為了防止我們數據庫編碼不對,我們先用命令查看數據庫編碼,這里可以看到編碼都是正常的, 主要字段是 character_set_results 的編碼
mysql> show variables like "%char%";+--------------------------+----------------------------------------+| Variable_name    | Value  |+--------------------------+----------------------------------------+| character_set_client     | utf8   || character_set_connection | utf8   || character_set_database   | utf8mb4|| character_set_filesystem | binary || character_set_results    | utf8   || character_set_server     | utf8mb4|| character_set_system     | utf8   || character_sets_dir       | C:\mysql-8.0.11-winx64\share\charsets\ |+--------------------------+----------------------------------------+8 rows in set

上面幾個變量說明:

  • character_set_client: 設置客戶端使用的字符集。
  • character_set_connection: 連接數據庫的字符集設置類型,如果程序沒有指明連接數據庫使用的字符集類型則按照服務器端默認的字符集設置。
  • character_set_database: 設置數據庫服務器中某個庫的字符集。
  • character_set_filesystem: 設置文件系統的字符集。
  • character_set_results: 設置服務端返回給客戶端結果顯示使用的字符集。
  • character_set_server: 設置服務器安裝時指定的默認字符集。
  • character_set_system: 設置數據庫系統使用的字符集。

如果上面編碼不對的話,想快速設置的話執行:set character_set_results = utf8;

上面這個只在當前終端有效,如果想永久保存的話還是需要修改my.ini的配置文件。

解決方案一(不適用)

網上很多說法是 Windows PowerShell 輸出重定向 (“>”) 文件編碼默認為UTF-16(LE)問題,解決辦法都是把命令拿去 cmd 中執行 ,但是我們這里是寫成腳本了,在cmd中執行是手動執行,雖然不是亂碼,但是我們放在腳本中執行就出現亂碼了,這個辦法顯然對于我來說是不可行的。

mysqldump -uroot -p --add-drop-table xxx_project > D:\xxx.sql

解決方案二(不可行)

還有的文章說在導出的命令上加上各種編碼參數,如:--default-character-set=utf8

mysqldump -uroot -proot --add-drop-table --default-character-set=utf8 xxx_project > D:\xxx.sql

在網上發現另一個參數--hex-blob, 這個參數主要是為了把BINARY, VARBINARY, BLOB, BIT等類型導出為十六進制,因為這些類型比較容易亂碼。再次嘗試:

mysqldump -uroot -proot --add-drop-table --default-character-set=utf8 --hex-blob xxx_project > D:\xxx.sql

打開文件后依然亂碼

最終方案

  • 最后在MySQL官網找到一段 mysqldump 相關的說明,在這段代碼中找到了解決方案(https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html)

這段話翻譯過來就是:

說明:

在Windows上使用帶有輸出重定向的PowerShell生成的轉儲文件將創建一個具有UTF-16編碼的文件:

mysqldump [options] > dump.sql

但是,UTF-16不允許作為連接字符集(請參閱不允許的客戶端字符集),因此無法正確加載轉儲文件。要解決這個問題,使用——result-file選項,它會創建ASCII格式的輸出:

mysqldump [options] --result-file=dump.sql

  • 最后執行的命令 --result-file 不會創建文件。所以我們要提前創建 xxx.sql 文件,每次執行都會清空 xxx.sql 里面的文件內容,然后重新寫入數據到文件中
mysqldump -uroot -proot --add-drop-table --default-character-set=utf8 --hex-blob xxx_project --result-file=C:\MysqlDataBackups\xxx.sql
  • 解決辦法找到了,但是光是這樣執行,還達不到我們備份的目的,于是結合腳本,最終修改為:
@echo offset hour=%time:~0,2%if "%time:~0,1%"==" " set hour=0%time:~1,1%set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2%echo %now%set host=127.0.0.1set port=3306set user=rootset pass=馬賽克# 要備份的數據庫,這里我項目的數據庫是 xxx_projectset dbname=xxx_project# 備份文件所在的位置,這里我固定放在 C:\MysqlDataBackups\ 下面,%dbname%-%now%.sql 是要生成的文件名稱set backupfile=C:\MysqlDataBackups\%dbname%-%now%.sql#用 bat 命令先創建文件 backupfile,然后在用 mysqldump 往這個文件中 寫入數據echo=>%backupfile%"C:\mysql-8.0.11-winx64\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% --default-character-set=utf8 --hex-blob -c --add-drop-table %dbname% --result-file=%backupfile%echo delete files before 10 daysforfiles /p E:\MysqlDataBackups /s /m *.sql /d -60 /c "cmd /c del @file /f"@echo on

最后看看效果

最后我們用 windows 的定時任務在每天凌晨三點的時候執行這個 bat 腳本,就能做到一天備份一次數據庫拉。

到此這篇關于Windows 服務器中使用 mysqldump 命令導出數據,解決中文亂碼問題的文章就介紹到這了,更多相關Windows使用mysqldump導出數據中文亂碼內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Windows IIS
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩欧美不卡| 亚洲欧洲另类| 伊人久久一区| 久久亚洲精品伦理| 视频在线观看国产精品| 欧美a一区二区| 欧美精品二区| 免费看久久久| 国产成人精品一区二区免费看京 | 麻豆精品av| 久久精品日韩欧美| av日韩中文| 国内一区二区三区| av中文资源在线资源免费观看| 国产不卡精品| 日韩毛片视频| 欧美1区免费| 免费在线视频一区| 亚洲精品极品| 国产精品探花在线观看| 国产精品va视频| 亚洲欧洲免费| 日韩视频一区| 蜜桃av一区二区| 国产欧美日韩视频在线| 六月婷婷一区| 欧美日韩激情| 免费视频一区三区| 亚洲欧美视频| 91精品尤物| 精品国产黄a∨片高清在线| 国产一区一一区高清不卡| 亚洲天堂av影院| 免费观看久久av| 亚洲制服一区| 美女性感视频久久| 欧美一区二区三区激情视频| 性色一区二区| 国产精品草草| 国产在线欧美| **爰片久久毛片| 国产中文在线播放| 好吊一区二区三区| 欧美天堂一区| 精品日韩视频| 日韩中文字幕视频网| 激情不卡一区二区三区视频在线| 婷婷亚洲综合| 国产美女视频一区二区| 日韩精品一区二区三区免费观看| 亚洲专区一区| 精品欧美视频| 久久高清免费观看| 免费观看亚洲天堂| 香蕉久久夜色精品国产| 精品久久91| 综合一区av| 精品视频网站| 免费在线欧美视频| 精品亚洲二区| 国产精品一在线观看| 91精品推荐| 国产精品一区二区三区www| 国产精品av久久久久久麻豆网| 国产日韩亚洲| 黄色免费成人| 91一区二区| 91亚洲无吗| 亚洲欧美一区在线| 精品视频免费| 亚洲男人在线| 欧美日韩在线网站| 国产日产精品_国产精品毛片| 久久精品亚洲欧美日韩精品中文字幕| 日韩精品国产欧美| 婷婷综合激情| 精品久久不卡| 欧美一级全黄| 国产精品色网| 日韩欧美三级| 国产精品22p| 少妇高潮一区二区三区99| 日韩精品一区二区三区免费观影 | 国产在线不卡一区二区三区| 亚洲精选av| 图片区亚洲欧美小说区| 久久久久久色| 中文精品在线| 国产精品日韩久久久| 日韩欧美一区二区三区在线视频| 国产亚洲电影| 亚久久调教视频| 红桃视频国产精品| 久久久久久久久久久妇女| 久久一区视频| 国产欧美日韩综合一区在线播放| 亚洲在线网站| 日韩精品一区二区三区中文在线| 一区三区视频| 欧美日韩在线观看首页| 中文字幕av一区二区三区人| 激情六月综合| 久久蜜桃精品| 国产一区日韩一区| 九九精品调教| 精品国产鲁一鲁****| 亚洲三级精品| 视频在线观看一区二区三区| 午夜国产一区二区| 91精品亚洲| 久久精品一区二区不卡| 成人日韩在线观看| 日韩精品不卡一区二区| 国产精品亚洲欧美| 国产高潮在线| 91日韩免费| 中文在线免费视频| 韩国女主播一区二区三区| 精品国产欧美| 精品一区视频| 精品入口麻豆88视频| 久久精品国产99国产精品| 欧美成人aaa| 国产中文字幕一区二区三区| 精品国产欧美| 91青青国产在线观看精品| 国产不卡人人| 日韩欧美三级| 婷婷丁香综合| 午夜日韩av| 国产午夜精品一区二区三区欧美 | 欧美精品不卡| 久久久精品区| 国产乱码午夜在线视频| 偷拍精品精品一区二区三区| 亚洲成人av观看| 欧美 日韩 国产精品免费观看| 狠狠久久婷婷| 99国产精品久久久久久久成人热| 亚洲激情不卡| 亚洲免费一区三区| 国产美女久久| 福利精品在线| 欧美日韩一区二区综合| 中文日韩在线| 亚洲久久视频| 国产日韩欧美一区| 成人在线免费观看网站| 久久中文字幕二区| 先锋影音久久久| 青青国产91久久久久久| 精品无人区麻豆乱码久久久| 日韩av免费| 日韩一级不卡| 欧美亚洲网站| 成人亚洲精品| 欧美福利在线| 日韩avvvv在线播放| 久久不见久久见国语| 日韩精品第一区| 久久亚洲图片| 国语精品一区| 免费观看久久av| 日本国产欧美| 国产成人1区| 最新国产拍偷乱拍精品| 欧美性www| 亚洲成av在线| 久久99伊人| 久久精品国产99国产| 激情自拍一区| 久久精品xxxxx| 日韩精品欧美| 日本中文字幕一区二区| 国产成人免费av一区二区午夜| 亚洲激情二区| 久久麻豆视频| 在线综合亚洲| 久久99久久久精品欧美| 亚洲欧美日韩高清在线| 国产午夜一区| 久久亚洲成人| 精品中文字幕一区二区三区四区| 九色porny丨国产首页在线| 亚洲va久久| 精精国产xxxx视频在线播放| 日韩在线麻豆| 日韩欧美二区| 欧美视频久久| 欧美1区2区3区| 国产精品白丝一区二区三区| 免费av一区二区三区四区| 国产乱码精品| 99在线|亚洲一区二区| 美女毛片一区二区三区四区最新中文字幕亚洲 | 超碰超碰人人人人精品| 免费日韩精品中文字幕视频在线| 欧美黑人做爰爽爽爽| 亚洲一区国产| av免费不卡国产观看|