MySql5.7.18字符集配置圖文詳解
故事背景:
很久很久以前(2017.6.5,文章有其時效性,特別是使用的工具更新?lián)Q代頻發(fā),請記住這個時間,若已經(jīng)沒有價值,一切以工具官方文檔為準(zhǔn)),下了個mysql版本玩玩,剛好最新是mysql5.7.18,本機是win10、64位系統(tǒng)。大抵步驟分為:
1、下載:以官網(wǎng)(https://www.mysql.com)為準(zhǔn),download響應(yīng)系統(tǒng)版本;
2、初始化:命令行(cmd)進入解壓目錄bin文件夾(下載下來后應(yīng)該要解壓吧?太久有點遺忘。還有下載下來是沒有data這個文件夾以及ini等文件的),這里有兩種初始化方式。一種叫不安全初始化,及輸入: mysqld --initialize ,初始化使root這個用戶沒有密碼(沒密碼所以不安全);一種就是所謂的安全初始化,輸入: mysqld --initialize-insecure ,生成有密碼的root用戶,密碼可以在生成后出現(xiàn)的日志文件里查看,就在初始化后生成的data文件里
3、啟動服務(wù): 輸入: net start mysql (關(guān)閉服務(wù): 輸入: net stop mysql),如果提示net不是內(nèi)部命令,那么可能是net沒安裝,也可能是沒配置環(huán)境變量 ,檢查一下就行
4、基本上應(yīng)該是這樣,其他的可以查詢mysql命令大全去搞。
接下來說說配置字符集的問題。
起因:
就是昨天,首先對著mysql命令行查看數(shù)據(jù)太過抽象,所以先下載了個Navicat for mysql(可視化界面),看起來就好多了。如圖:

然后在表中插入數(shù)據(jù)時會報錯“Incorrect string value”,百度了一下說是要將字符集改為utf8mb4,這是因為其他編碼存不了一些特殊字符的關(guān)系,詳情可以百度。
經(jīng)過:
修改字符集首先進入mysql: mysql -uroot (用戶登錄,因為初始化選了沒密碼的那種),show variables like 'char%' (查看字符編碼),如圖:

可以在命令行里輸入例如: set character_set_server=utf8mb4 來改變字符集,但僅限當(dāng)次有效,重啟服務(wù)時會恢復(fù)默認(rèn)值。接下來試試其他方法,網(wǎng)上眾說紛紜,含糊不清,真假難以分辨 。于是上官網(wǎng)看了一下(官網(wǎng)也很水,沒有例子可以參照,就像告訴瞎子白色是白色一樣,而我就是那個瞎子),看了文檔里有個查看變量的指令:mysqld --verbose --help,查看的變量都可以配置在選項文件里,每次啟動服務(wù)就會按選項文件里的自動去配置,然后這里出現(xiàn)一句:
Default options are read from the following files in the given order
我想應(yīng)該是選項文件可能存在的地方,也就是說我們新建出的選項文件要以它顯示出來的名字命名,放到它顯示出的該放的地方。如圖:

新建一個my.ini文件,放在D:\mysql下,剛好就是它顯示出來位置的其中一個,如上圖。my.ini內(nèi)容如下:

基本上就是以這樣的形式來配,這里只拿了個罪魁禍?zhǔn)譪haracter_set_server,當(dāng)然關(guān)聯(lián)的字符集配置要統(tǒng)一,否則可能會亂碼,可以去百度看看每一個字符集都代表什么意思。
然后關(guān)閉mysql服務(wù),開始配置(輸入 mysqld --install):
1、如果非管理員打開cmd輸入 mysqld --install會報如下信息,說是命令被拒絕:

2、改用管理員打開,說是服務(wù)已存在(那么先把它刪了就好了):

3、查詢mysql服務(wù): sc query mysql(也可以在控制面板-管理工具-服務(wù)中找到,或直接搜索服務(wù))

4、刪了它:(也可以在控制面板-管理工具-服務(wù)中卸載,或直接搜索服務(wù))

5、當(dāng)然重裝前要停止mysql,即使先行刪了它,否則會出現(xiàn):

6、我們停了它,這次是在控制面板停掉的,因為之前把它卸了,停掉后就消失不見(命令行: net stop mysql),重新執(zhí)行,成功的同時啟動mysql服務(wù):

7、重啟成功,登上去上看看有沒有改動成功:

8、然后到此就可以了,之后又試了幾次,只要改了my.ini后,關(guān)閉在重新啟動mysql服務(wù),它每次都會按my.ini來改,也就是說以后如果不滿意不用從頭走一遍,只要改my.ini后重啟服務(wù)就好了。如圖:

我再改:

以上所述是小編給大家介紹的MySql5.7.18字符集配置圖文詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- MySQL skip-character-set-client-handshake導(dǎo)致的一個字符集問題
- MySQL的字符集操作命令總結(jié)
- mysql修改數(shù)據(jù)庫編碼(數(shù)據(jù)庫字符集)和表的字符編碼的方法
- 修改mysql默認(rèn)字符集的兩種方法詳細(xì)解析
- 基于mysql 5.5 設(shè)置字符集問題的詳解
- mysql安裝后添加gbk字符集的方法
- 關(guān)于mysql字符集設(shè)置了character_set_client=binary 在gbk情況下會出現(xiàn)表描述是亂碼的情況
- 深入Mysql字符集設(shè)置 圖文版
- MySQL字符集 GBK、GB2312、UTF8區(qū)別 解決MYSQL中文亂碼問題
- mysql字符集和校對規(guī)則(Mysql校對集)
相關(guān)文章
Mysql 主從數(shù)據(jù)庫同步(centos篇)
Mysql 主從數(shù)據(jù)庫同步(centos篇),需要的朋友可以參考下。2011-05-05
MySQL?5.7中NULL與‘?‘空字符值的多維度分析(詳解)
在數(shù)據(jù)庫設(shè)計和開發(fā)過程中,正確理解和使用NULL值對于確保數(shù)據(jù)質(zhì)量和查詢效率至關(guān)重要,本文將從多個維度對NULL值進行深入分析,并與空字符串''以及其他控制進行對比,旨在為讀者提供一個全面而清晰的理解,感興趣的朋友跟隨小編一起看看吧2024-12-12
MySQL?8.0.35數(shù)據(jù)庫下載安裝以及環(huán)境變量的配置方法
很多朋友剛開始接觸mysql數(shù)據(jù)庫服務(wù)器,這篇文章主要給大家介紹了關(guān)于MySQL?8.0.35數(shù)據(jù)庫下載安裝以及環(huán)境變量的配置方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
mysql索引過長Specialed key was too long的解決方法
在創(chuàng)建要給表的時候遇到一個有意思的問題,提示Specified key was too long; max key length is 767 bytes,本文就來介紹一下解決方法,如果你也遇到此類問題,可以參考一下2021-11-11
mysql如何實現(xiàn)多行查詢結(jié)果合并成一行
利用函數(shù):group_concat(),實現(xiàn)一個ID對應(yīng)多個名稱時,原本為多行數(shù)據(jù),把名稱合并成一行2013-12-12
MySql 5.6.35 winx64 安裝詳細(xì)教程
這篇文章主要介紹了MySql 5.6.35 winx64 安裝詳細(xì)教程,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-02-02
MySQL算術(shù)/比較/邏輯/位/運算符與正則舉例詳解
每種數(shù)據(jù)庫都支持SQL語句,但是它們也都有各自支持的運算符,下面這篇文章主要給大家介紹了關(guān)于MySQL算術(shù)/比較/邏輯/位/運算符與正則的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02

