濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > MySQL命令無(wú)法輸入中文問題的解決方式

MySQL命令無(wú)法輸入中文問題的解決方式

熱門標(biāo)簽:大眾點(diǎn)評(píng)星級(jí)酒店地圖標(biāo)注 臨清電話機(jī)器人 智能外呼系統(tǒng)復(fù)位 外東北地圖標(biāo)注 400電話可以辦理嗎 高清地圖標(biāo)注道路 云南電商智能外呼系統(tǒng)價(jià)格 拉卡拉外呼系統(tǒng) 話務(wù)外呼系統(tǒng)怎么樣

發(fā)現(xiàn)問題

近期通過(guò) mysql 命令連接 mysql server 的時(shí)候, 出現(xiàn)了不能輸入中文的現(xiàn)象, 如下所示:

mysql> SELECT 'Chinese characters > are stripped';
+------------------------------------+
| Chinese characters > are stripped |
+------------------------------------+
| Chinese characters > are stripped |
+------------------------------------+
1 row in set (0.00 sec)

輸入的所有中文都會(huì)被替換為空. 上述測(cè)試為官方的 mysql-5.7.32 版本.

遍歷官方 mysql 的 changelog-5.7.34 發(fā)現(xiàn)了 oracle 官方的 mysql-5.7.34 和 mysql-8.0.24 分別修復(fù)了以下 bug

For builds compiled using the libedit library, if the mysql client was invoked
with the --default-character-set=utf8 option, libedit rejected input of
multibyte characters. (Bug #32329078, Bug #32583436, Bug #102806)

參考bug-102806 , 出現(xiàn)和描述中類似的事情, mysql 命令行的交互模式不支持所有寬字符的輸入.

不能輸入中文會(huì)出現(xiàn)什么問題?

從測(cè)試來(lái)看, 該 bug 只影響通過(guò) mysql 命令以交互模式連接 mysql server 的會(huì)話操作 . 如果線上有使用此 bug 的版本, 操作表的時(shí)候可能會(huì)出現(xiàn)丟失中文的問題.

以下方式不受影響:

1. 各程序通過(guò)相關(guān)驅(qū)動(dòng)連接數(shù)據(jù)庫(kù);
2. mysql 命令以非交互模式操作, 比如 mysql -h ... -p.... /tmp/t.sql

哪些版本受影響

該 bug 在 5.7.34 和 8.0.24 中修復(fù), 見 github-mysql-patch-117fb2 . 從修復(fù)的補(bǔ)丁來(lái)看, bug 與 libedit 版本沒有關(guān)系, 不管是 rpm, deb 還是官方的 build 版本都受此影響.

從我們的測(cè)試來(lái)看, 以下版本都會(huì)受到影響:

5.7.31 ~ 5.7.33
8.0.21 ~ 8.0.23

備注: 其它發(fā)行版暫不明確, 大概率也會(huì)出同樣的問題, 不過(guò)發(fā)行版通常比官方的慢一拍, 其低版本可能會(huì)提前修復(fù)該問題.

如何處理

線上的版本的選擇可以集中在使用過(guò)的一些版本, 比如筆者常用的:

- percona 分支
percona-5.6.45
percona-5.7.28
percona-8.0.22

- 官方版本
mysql-5.6.29
mysql-5.7.28
mysql-8.0.19

如果線上已經(jīng)使用了上述受影響的版本, 可以采用以下方式處理:

臨時(shí)處理

不方便升級(jí)的話, 可以先使用 5.7.30 以下或 5.7.34 及以上版本的 mysql client 命令;

小版本升級(jí)

如果方便進(jìn)行小版本升級(jí), 建議升級(jí)到以下版本:

5.7.35
8.0.26

總結(jié)

到此這篇關(guān)于MySQL命令無(wú)法輸入中文問題的文章就介紹到這了,更多相關(guān)MySQL命令無(wú)法輸入中文內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL命令行操作時(shí)的編碼問題詳解
  • MySQL source命令的使用簡(jiǎn)介
  • mysql常用sql與命令之從入門到刪庫(kù)跑路
  • mysql利用mysqlbinlog命令恢復(fù)誤刪除數(shù)據(jù)的實(shí)現(xiàn)
  • MySQL存儲(chǔ)過(guò)程的查詢命令介紹
  • MySQL數(shù)據(jù)庫(kù)自動(dòng)補(bǔ)全命令的三種方法
  • mysql密碼中有特殊字符&在命令行下登錄的操作
  • Mysql桌面工具之SQLyog資源及激活使用方法告別黑白命令行
  • mysql的登陸和退出命令格式
  • MySQL如何使用授權(quán)命令grant
  • MySQL 基礎(chǔ)常用命令總結(jié)

標(biāo)簽:福州 三明 阿里 定西 揚(yáng)州 溫州 山西 無(wú)錫

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL命令無(wú)法輸入中文問題的解決方式》,本文關(guān)鍵詞  MySQL,命令,無(wú)法,輸入,中文,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL命令無(wú)法輸入中文問題的解決方式》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于MySQL命令無(wú)法輸入中文問題的解決方式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    化州市| 博野县| 石嘴山市| 蒙城县| 西乌珠穆沁旗| 淳化县| 仁布县| 禹州市| 化德县| 万州区| 东城区| 邹城市| 泽州县| 栖霞市| 辛集市| 贵德县| 宝坻区| 康平县| 罗山县| 荆门市| 水富县| 定襄县| 响水县| 吉林省| 沭阳县| 海盐县| 封丘县| 聊城市| 乌拉特前旗| 万盛区| 南陵县| 固阳县| 桃园市| 东安县| 财经| 胶州市| 哈巴河县| 南丹县| 拉萨市| 兴海县| 平凉市|