MySQL數(shù)據(jù)庫的編碼

最近遇到不同終端顯示MySQL數(shù)據(jù)中文亂碼的問題篙挽,故記錄一下冲秽。

一舍咖、本機安裝MySQL

環(huán)境:windows 10
MySQL版本:5.7.18 MySQL Community Server (GPL) 解壓縮免安裝版
將文件解壓縮到某個文件目錄,如我的路徑為:E:\BigData\tools锉桑。
此時mysql的根目錄會有一個my-default.ini文件排霉,這是MySQL的配置文件,配置說明請參考MySQL配置文件-my.ini

1.1配置環(huán)境變量

MySQL_HOME E:\BigData\tools\mysql\bin民轴,如圖


環(huán)境變量.png
1.2 my-default.ini文件中增加數(shù)據(jù)目錄配置
#Path to installation directory. All paths are usually resolved relative to this.
basedir="E:/BigData/tools/mysql"

#Path to the database root
datadir="E:/BigData/tools/mysql/data"

# The default character set that will be used when a new schema or table is
# created and no character set is defined
1.3 mysql 初始化

參見官方文檔MySQL初始化
進入命令行攻柠,輸入'mysqld --initialize-insecure --user=mysql --console'回車,如果提示mysqld命令不是內(nèi)部或外部命令后裸,說明環(huán)境變量未配置好瑰钮。

其中'mysqld --initialize-insecure'表示初始化為root賬號,無密碼微驶;如果沒有'-insecure'浪谴,則表示初始化為一個隨機密碼。
'--user=mysql ' 參數(shù)如果沒有因苹,則啟動的時候會報錯较店,缺少一個什么東西。
等待一會容燕,如果沒有報錯梁呈,說明初始化成功。

1.4 注冊MySQL服務蘸秘,并啟動

執(zhí)行命令'mysqld install'官卡,即注冊mysql服務;
執(zhí)行命令'net start mysql', 啟動mysql服務醋虏。

1.5遇到的問題

參見官方文檔MySQL默認配置
a: 初始化未加'--user=mysql'參數(shù)寻咒,導致install失敗,缺少組件颈嚼;
b: 網(wǎng)查資料毛秘,my-default.ini可以改為my.ini,還有些說my.ini放到\bin目錄下,我就遇到了錯誤叫挟。經(jīng)證實:my-default.ini可以改為my.ini艰匙,就放在安裝的根目錄;
c: 'mysql install' 不要帶參數(shù)抹恳,之前帶參數(shù)指定my-default.ini配置文件员凝,然后目錄下如果有my.ini就要報錯。my-default.ini可以改為my.ini奋献,install不帶指定參數(shù)即可健霹,官方文檔也說了會自動使用my.ini為配置文件。

二瓶蚂、MySQL編碼設置

連接上MySQL服務后糖埋,可通過show variables like 'char%';查看各個字符編碼的設置,如:

字符編碼.png

因my.ini中配置不同窃这,字符編碼可能不同阶捆。

2.1 編碼設置

這里僅以中文為例。
my.ini中
[mysqld]節(jié)點下配置character-set-server=utf8
對應character_set_database/character_set_server/character_set_system的編碼钦听。
[client]節(jié)點配置 default-character-set=gbk
對應character_set_client/character_set_connection/character_set_resuts的編碼洒试。

2.2 注意事項

my.ini中編碼設置后,執(zhí)行命令'sc delete mysql'刪除mysql服務朴上;
執(zhí)行命令'mysqld --initialize-insecure --user=mysql --console'初始化服務垒棋;
執(zhí)行命令'mysqld install'注冊服務;
執(zhí)行命令'net start mysql'啟動服務痪宰。
必須新建數(shù)據(jù)庫和表叼架,新建的數(shù)據(jù)庫和表的字符集才為配置中設置的字符集,如圖:

修改后字符編碼.png

這樣命令行顯示中文就正常了衣撬。

三乖订、Navicat中文亂碼

先斷開連接,再編輯連接具练,編碼中選擇'自動'乍构,中文即正常了。


navicat連接設置.png

至此:Navicat扛点、Java代碼哥遮、MySQL命令行,三處的插入及顯示中文均正常陵究。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末眠饮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子铜邮,更是在濱河造成了極大的恐慌仪召,老刑警劉巖寨蹋,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異扔茅,居然都是意外死亡已旧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門咖摹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來评姨,“玉大人难述,你說我怎么就攤上這事萤晴。” “怎么了胁后?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵店读,是天一觀的道長。 經(jīng)常有香客問我攀芯,道長屯断,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任侣诺,我火速辦了婚禮殖演,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘年鸳。我一直安慰自己趴久,他們只是感情好,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布搔确。 她就那樣靜靜地躺著彼棍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪膳算。 梳的紋絲不亂的頭發(fā)上座硕,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機與錄音涕蜂,去河邊找鬼华匾。 笑死,一個胖子當著我的面吹牛机隙,可吹牛的內(nèi)容都是我干的瘦真。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼黍瞧,長吁一口氣:“原來是場噩夢啊……” “哼诸尽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起印颤,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤您机,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體际看,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡咸产,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了仲闽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脑溢。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖赖欣,靈堂內(nèi)的尸體忽然破棺而出屑彻,到底是詐尸還是另有隱情,我是刑警寧澤顶吮,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布社牲,位于F島的核電站,受9級特大地震影響悴了,放射性物質(zhì)發(fā)生泄漏搏恤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一湃交、第九天 我趴在偏房一處隱蔽的房頂上張望熟空。 院中可真熱鬧,春花似錦搞莺、人聲如沸息罗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阱当。三九已至,卻和暖如春糜工,著一層夾襖步出監(jiān)牢的瞬間弊添,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工捌木, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留油坝,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓刨裆,卻偏偏與公主長得像澈圈,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子帆啃,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容