以前開發中一直用的是sql server 數據庫,最近接到公司一個老的項目,用的my sql數據庫作的,功能作了一大部分,如今客戶要求對原程序和數據庫進行服務器的遷移工做。產品經理給出預估時間大概須要2天時間,全新服務器須要安裝環境。在服務器上安裝的mysql 5.7版本,程序部署基本順利,產品經理進入測試階段,發現一個奇怪的事情,全部的模糊查詢功能,包含中文的都不能查詢到數據。開始一步一步排查緣由,代碼錯誤通過篩查,排除。後來通過查找,是my sql 數據庫字符集設置的問題。mysql
因爲初次使用my sql 數據庫,而且大部分操做須要環境變量的配置,所以先對服務器作如下配置。配置以下步驟:sql
(一)、my sql 安裝路徑數據庫
找到my sql 的安裝路徑,默認狀況下:C:\Program Files\MySQL\MySQL Server 5.7\bin目錄,而後複製服務器
(二)、打開環境變量測試
經過控制面板,找到環境變量設置中的path,點擊編輯,右側有個新建,把剛纔的路徑直接粘貼便可。spa
(三)、用dos命令重啓my sql 服務命令行
net stop mysql57 --開啓服務 net start mysql57 --暫停服務
出現此頁面,說明咱們的配置已經完成了!code
3、字符集設置server
(一)、默認字符集blog
MySQL 數據庫默認安裝完畢後,默認的字符集以下圖所示,這個問題雖然比較簡單,可是解決起來是比較浪費時間的,血淚的教訓。咱們首先下面的語句查詢出當前的字符集:
show variables like 'character%'; --查詢字符集
(二)設置字符集
咱們知道問題所在之處,如今就是想辦法解決了,查詢網上的大部分方法,試用無果,比較浪費時間。如今總結出如下方法
(1)找到my.ini文件
最簡單暴力的方法,找到my server服務,複製my.ini路徑,在對應的盤符中查找,便可:
(2)修改my.ini文件
把如下內容粘貼到my.ini文件的最下端,保存
[mysqld] character-set-server=utf8 collation-server=utf8_general_ci [mysql] default-character-set = utf8 [mysql.server] default-character-set = utf8 [mysqld_safe] default-character-set = utf8 [client] default-character-set = utf8
(3)重啓my sql服務,檢查修改效果
必定記得要重啓my sql服務,才能夠生效,重啓辦法:一種命令行重啓,如上所述;一種服務管理器啓動以下圖:
如今已是咱們想要的結果了,至此,踩坑完畢!