MySql5.7.18字符集配置圖文詳解
故事背景:
很久很久以前(2017.6.5,文章有其時(shí)效性,特別是使用的工具更新?lián)Q代頻發(fā),請記住這個(gè)時(shí)間,若已經(jīng)沒有價(jià)值,一切以工具官方文檔為準(zhǔn)),下了個(gè)mysql版本玩玩,剛好最新是mysql5.7.18,本機(jī)是win10、64位系統(tǒng)。大抵步驟分為:
1、下載:以官網(wǎng)(https://www.mysql.com)為準(zhǔn),download響應(yīng)系統(tǒng)版本;
2、初始化:命令行(cmd)進(jìn)入解壓目錄bin文件夾(下載下來后應(yīng)該要解壓吧?太久有點(diǎn)遺忘。還有下載下來是沒有data這個(gè)文件夾以及ini等文件的),這里有兩種初始化方式。一種叫不安全初始化,及輸入: mysqld --initialize ,初始化使root這個(gè)用戶沒有密碼(沒密碼所以不安全);一種就是所謂的安全初始化,輸入: 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ù)太過抽象,所以先下載了個(gè)Navicat for mysql(可視化界面),看起來就好多了。如圖:
然后在表中插入數(shù)據(jù)時(shí)會報(bào)錯“Incorrect string value”,百度了一下說是要將字符集改為utf8mb4,這是因?yàn)槠渌幋a存不了一些特殊字符的關(guān)系,詳情可以百度。
經(jīng)過:
修改字符集首先進(jìn)入mysql: mysql -uroot (用戶登錄,因?yàn)槌跏蓟x了沒密碼的那種),show variables like 'char%' (查看字符編碼),如圖:
可以在命令行里輸入例如: set character_set_server=utf8mb4
來改變字符集,但僅限當(dāng)次有效,重啟服務(wù)時(shí)會恢復(fù)默認(rèn)值。接下來試試其他方法,網(wǎng)上眾說紛紜,含糊不清,真假難以分辨 。于是上官網(wǎng)看了一下(官網(wǎng)也很水,沒有例子可以參照,就像告訴瞎子白色是白色一樣,而我就是那個(gè)瞎子),看了文檔里有個(gè)查看變量的指令:mysqld --verbose --help,查看的變量都可以配置在選項(xiàng)文件里,每次啟動服務(wù)就會按選項(xiàng)文件里的自動去配置,然后這里出現(xiàn)一句:
Default options are read from the following files in the given order
我想應(yīng)該是選項(xiàng)文件可能存在的地方,也就是說我們新建出的選項(xiàng)文件要以它顯示出來的名字命名,放到它顯示出的該放的地方。如圖:
新建一個(gè)my.ini文件,放在D:\mysql下,剛好就是它顯示出來位置的其中一個(gè),如上圖。my.ini內(nèi)容如下:
基本上就是以這樣的形式來配,這里只拿了個(gè)罪魁禍?zhǔn)譪haracter_set_server,當(dāng)然關(guān)聯(lián)的字符集配置要統(tǒng)一,否則可能會亂碼,可以去百度看看每一個(gè)字符集都代表什么意思。
然后關(guān)閉mysql服務(wù),開始配置(輸入 mysqld --install):
1、如果非管理員打開cmd輸入 mysqld --install會報(bào)如下信息,說是命令被拒絕:
2、改用管理員打開,說是服務(wù)已存在(那么先把它刪了就好了):
3、查詢mysql服務(wù): sc query mysql(也可以在控制面板-管理工具-服務(wù)中找到,或直接搜索服務(wù))
4、刪了它:(也可以在控制面板-管理工具-服務(wù)中卸載,或直接搜索服務(wù))
5、當(dāng)然重裝前要停止mysql,即使先行刪了它,否則會出現(xiàn):
6、我們停了它,這次是在控制面板停掉的,因?yàn)橹鞍阉读耍5艉缶拖Р灰姡钚校?net stop mysql),重新執(zhí)行,成功的同時(shí)啟動mysql服務(wù):
7、重啟成功,登上去上看看有沒有改動成功:
8、然后到此就可以了,之后又試了幾次,只要改了my.ini后,關(guān)閉在重新啟動mysql服務(wù),它每次都會按my.ini來改,也就是說以后如果不滿意不用從頭走一遍,只要改my.ini后重啟服務(wù)就好了。如圖:
我再改:
以上所述是小編給大家介紹的MySql5.7.18字符集配置圖文詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- MySQL skip-character-set-client-handshake導(dǎo)致的一個(gè)字符集問題
- 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二進(jìn)制日志處理事務(wù)與非事務(wù)性語句的區(qū)別
本篇文章是對mysql二進(jìn)制日志處理事務(wù)與非事務(wù)性語句的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06Mysql中JSON字段的值的實(shí)現(xiàn)示例
本文中介紹了如何通過SQL語句查詢JSON字段中的特定數(shù)據(jù),如查詢數(shù)組中的元素,提取映射中的值,以及使用不同的JSON函數(shù)來處理數(shù)據(jù),感興趣的可以了解一下2024-09-09Win 8或以上系統(tǒng)下MySQL最新版5.7.17(64bit ZIP綠色版)安裝部署教程
這篇文章主要為大家詳細(xì)介紹了Win 8或以上系統(tǒng)下MySQL最新版5.7.17 64bit ZIP綠色版安裝部署教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05