数据库采坑(一)——My Sql数据库设置环境变量和字符集

一、踩坑背景

       之前开发中一直用的是sql  server 数据库,最近接到公司一个老的项目,用的my sql数据库做的,功能做了一大部分,现在客户要求对原程序和数据库进行服务器的迁移工作。产品经理给出预估时间大概需要2天时间,全新服务器需要安装环境。在服务器上安装的mysql 5.7版本,程序部署基本顺利,产品经理进入测试阶段,发现一个奇怪的事情,所有的模糊查询功能,包含中文的都不能查询到数据。开始一步一步排查原因,代码错误经过筛查,排除。后来经过查找,是my sql 数据库字符集设置的问题。

二、环境变量设置

      由于初次使用my  sql 数据库,并且大部分操作需要环境变量的配置,因此先对服务器做以下配置。配置如下步骤:

(一)、my  sql 安装路径

     找到my sql 的安装路径,默认情况下:C:\Program Files\MySQL\MySQL Server 5.7\bin目录,然后复制

(二)、打开环境变量

   通过控制面板,找到环境变量设置中的path,点击编辑,右侧有个新建,把刚才的路径直接粘贴即可。

(三)、用dos命令重启my sql 服务

net  stop  mysql57  --开启服务
net  start  mysql57 --暂停服务

出现此页面,说明我们的配置已经完成了!

三、字符集设置

 (一)、默认字符集

   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服务,才可以生效,重启办法:一种命令行重启,如上所述;一种服务管理器启动如下图:

 现在已经是我们想要的结果了,至此,踩坑完毕!

posted @ 2018-06-23 20:31  StrugglingDave  阅读(3266)  评论(0编辑  收藏  举报