mysql-5.7.17-winx64的安装问题

来源:互联网 发布:软件封装 可视化代码 编辑:程序博客网 时间:2024/05/20 00:13

      鄙人最近尝试安装mysql最新版本 mysql-5.7.17

      首先按照网上的一种做法,将my.ini放到bin目录下,然后一直安装顺利,data文件夹也建立起来了,服务启动后一切正常,但是插入汉字确显示"?"号 。在mysql>输入  SHOW VARIABLES LIKE 'char%'; 后发现除了character_set_filesystem 之外还有两个的字符集不是utf-8 。当时我的配置文件如下:

    

#########################################################

[client]

default-character-set=utf8

 [mysqld]

#解压目录 

 basedir = %MySql_HOME% 

#解压目录 

 datadir = %MySql_HOME%\data 

 port = 3306 

 default-character-set=utf8

 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 #########################################################

      后来查询的多个解决的方案,却一直无法正确的解决字符集的问题 ,而且更严重的问题是由于我的.ini文件是放在bin目录下的,而mysql在启动的时候默认是从根目录下查找,当我把my.ini复制到根目录时,还是没有作用(或许当时自己没有屡清楚)。所以决定采用网上安装的第二种方案,直接在根目录下修改.ini文件,如果没有可以复制my-default.ini来修改。配置文件如下:


[client]
port=3306
default-character-set=utf8
[mysqld]

#解压目录
 port = 3306
 character-set-server=utf8
 basedir = %MySql_HOME%
#解压目录
 datadir = %MySql_HOME%\data
 
 collation-server=utf8_general_ci
#########################################################
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[WinMySQLAdmin]
%MYSQL_HOME%\bin\mysqld.exe


   然后以管理员的身份运行cmd,从控制台进入到mysql解压目录下的bin下,输入服务安装命令

     mysqld install MySQL --defaults-file="%MYSQL_HOME%\my.ini"

 

然后输入命令:mysqld --initialize-insecure 时发生错误,如果成功会在mysql文件夹下会生成一个data文件夹,里面有些文件夹和文件,这样就表明初始化成功了。经过查询错误,发现data的路径问题,不知道为什么写datadir = %MySql_HOME%\data 时系统会将路径设置为%MySql_HOME%\%MySql_HOME%\data   我就将这里修改成了绝对路径,修改后的my.ini文件如下:


[client]
port=3306
default-character-set=utf8
[mysqld]

#解压目录
 port = 3306
 character-set-server=utf8
 basedir = %MySql_HOME%
#解压目录
 datadir = D:\Program Files\mysql-5.7.17-winx64\data
 
 collation-server=utf8_general_ci
#########################################################
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[WinMySQLAdmin]
%MYSQL_HOME%\bin\mysqld.exe

  


    此时,data文件夹生成成功,检查字符集也正常,问题彻底解决,再次启动mysql也不会有任何问题。


   总结:1、my.ini文件还是应该放在根目录下;

              2、my.ini文件中的datadir = XXXX\data   应写成绝对路径,保证生成成功

              3、所有编码都应该设置成utf-8 除了character_set_filesystem


  小弟的一点点心得,希望能够对大家有所帮助,谢谢







1 0
原创粉丝点击