故事背景:
很久很久以前(2017.6.5,文章有其時(shí)效性,特別是使用的工具更新?lián)Q代頻發(fā),請(qǐng)記住這個(gè)時(shí)間,若已經(jīng)沒(méi)有價(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文件夾(下載下來(lái)后應(yīng)該要解壓吧?太久有點(diǎn)遺忘。還有下載下來(lái)是沒(méi)有data這個(gè)文件夾以及ini等文件的),這里有兩種初始化方式。一種叫不安全初始化,及輸入: mysqld --initialize ,初始化使root這個(gè)用戶(hù)沒(méi)有密碼(沒(méi)密碼所以不安全);一種就是所謂的安全初始化,輸入: mysqld --initialize-insecure ,生成有密碼的root用戶(hù),密碼可以在生成后出現(xiàn)的日志文件里查看,就在初始化后生成的data文件里
3、啟動(dòng)服務(wù): 輸入: net start mysql (關(guān)閉服務(wù): 輸入: net stop mysql),如果提示net不是內(nèi)部命令,那么可能是net沒(méi)安裝,也可能是沒(méi)配置環(huán)境變量 ,檢查一下就行
4、基本上應(yīng)該是這樣,其他的可以查詢(xún)mysql命令大全去搞。
接下來(lái)說(shuō)說(shuō)配置字符集的問(wèn)題。
起因:
就是昨天,首先對(duì)著mysql命令行查看數(shù)據(jù)太過(guò)抽象,所以先下載了個(gè)Navicat for mysql(可視化界面),看起來(lái)就好多了。如圖:
![](/d/20211018/7ef9ea61f4b9ce1ca2f7afa9017a7acf.gif)
然后在表中插入數(shù)據(jù)時(shí)會(huì)報(bào)錯(cuò)“Incorrect string value”,百度了一下說(shuō)是要將字符集改為utf8mb4,這是因?yàn)槠渌幋a存不了一些特殊字符的關(guān)系,詳情可以百度。
經(jīng)過(guò):
修改字符集首先進(jìn)入mysql: mysql -uroot (用戶(hù)登錄,因?yàn)槌跏蓟x了沒(méi)密碼的那種),show variables like 'char%' (查看字符編碼),如圖:
![](/d/20211018/d0c8dc595e6379aaa1a209b1f720b304.gif)
可以在命令行里輸入例如: set character_set_server=utf8mb4
來(lái)改變字符集,但僅限當(dāng)次有效,重啟服務(wù)時(shí)會(huì)恢復(fù)默認(rèn)值。接下來(lái)試試其他方法,網(wǎng)上眾說(shuō)紛紜,含糊不清,真假難以分辨 。于是上官網(wǎng)看了一下(官網(wǎng)也很水,沒(méi)有例子可以參照,就像告訴瞎子白色是白色一樣,而我就是那個(gè)瞎子),看了文檔里有個(gè)查看變量的指令:mysqld --verbose --help,查看的變量都可以配置在選項(xiàng)文件里,每次啟動(dòng)服務(wù)就會(huì)按選項(xiàng)文件里的自動(dòng)去配置,然后這里出現(xiàn)一句:
Default options are read from the following files in the given order
我想應(yīng)該是選項(xiàng)文件可能存在的地方,也就是說(shuō)我們新建出的選項(xiàng)文件要以它顯示出來(lái)的名字命名,放到它顯示出的該放的地方。如圖:
![](/d/20211018/2779b16485d49ae4473255ffb6cf4368.gif)
新建一個(gè)my.ini文件,放在D:\mysql下,剛好就是它顯示出來(lái)位置的其中一個(gè),如上圖。my.ini內(nèi)容如下:
![](/d/20211018/b4e256b39d0101c8a8df2d0b87bd0d45.gif)
基本上就是以這樣的形式來(lái)配,這里只拿了個(gè)罪魁禍?zhǔn)譪haracter_set_server,當(dāng)然關(guān)聯(lián)的字符集配置要統(tǒng)一,否則可能會(huì)亂碼,可以去百度看看每一個(gè)字符集都代表什么意思。
然后關(guān)閉mysql服務(wù),開(kāi)始配置(輸入 mysqld --install):
1、如果非管理員打開(kāi)cmd輸入 mysqld --install會(huì)報(bào)如下信息,說(shuō)是命令被拒絕:
![](/d/20211018/0c38003a06e3f487b929be882d4c0342.gif)
2、改用管理員打開(kāi),說(shuō)是服務(wù)已存在(那么先把它刪了就好了):
![](/d/20211018/7de21dea360794530c945ec03bee4129.gif)
3、查詢(xún)mysql服務(wù): sc query mysql(也可以在控制面板-管理工具-服務(wù)中找到,或直接搜索服務(wù))
![](/d/20211018/d1d9994f67f15e29fde824f4bff51386.gif)
4、刪了它:(也可以在控制面板-管理工具-服務(wù)中卸載,或直接搜索服務(wù))
![](/d/20211018/239237b6c188c06cdc822de1ca2c6d8a.gif)
5、當(dāng)然重裝前要停止mysql,即使先行刪了它,否則會(huì)出現(xiàn):
![](/d/20211018/bd0d0a373a4a0d4cf86b874757ad734b.gif)
6、我們停了它,這次是在控制面板停掉的,因?yàn)橹鞍阉读?,停掉后就消失不?jiàn)(命令行: net stop mysql),重新執(zhí)行,成功的同時(shí)啟動(dòng)mysql服務(wù):
![](/d/20211018/0b953f45bee4fb9c61b1f796d2116a9a.gif)
7、重啟成功,登上去上看看有沒(méi)有改動(dòng)成功:
![](/d/20211018/c94cd86084c9e1d3e3faf88c001f903f.gif)
8、然后到此就可以了,之后又試了幾次,只要改了my.ini后,關(guān)閉在重新啟動(dòng)mysql服務(wù),它每次都會(huì)按my.ini來(lái)改,也就是說(shuō)以后如果不滿(mǎn)意不用從頭走一遍,只要改my.ini后重啟服務(wù)就好了。如圖:
![](/d/20211018/b0d8a5b6a07cae25b4c443744fb64a5e.gif)
我再改:
![](/d/20211018/14b9fb4506dd260c68a09dcccf60d150.gif)
以上所述是小編給大家介紹的MySql5.7.18字符集配置圖文詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- MySQL skip-character-set-client-handshake導(dǎo)致的一個(gè)字符集問(wèn)題
- MySQL的字符集操作命令總結(jié)
- mysql修改數(shù)據(jù)庫(kù)編碼(數(shù)據(jù)庫(kù)字符集)和表的字符編碼的方法
- 修改mysql默認(rèn)字符集的兩種方法詳細(xì)解析
- 基于mysql 5.5 設(shè)置字符集問(wèn)題的詳解
- mysql安裝后添加gbk字符集的方法
- 關(guān)于mysql字符集設(shè)置了character_set_client=binary 在gbk情況下會(huì)出現(xiàn)表描述是亂碼的情況
- 深入Mysql字符集設(shè)置 圖文版
- MySQL字符集 GBK、GB2312、UTF8區(qū)別 解決MYSQL中文亂碼問(wèn)題
- mysql字符集和校對(duì)規(guī)則(Mysql校對(duì)集)