Windows安装MySQL

一. 背景

今天在win 10上安装MySQL5.6时因修改字符编码一直采坑,故记录此笔记。

二. 安装

MySQL5.6社区版下载地址: https://dev.mysql.com/downloads/windows/installer/5.6.html

下载安装即可。

下面所说的是默认安装目录,即C:Program FilesMySQLMySQL Server 5.6

三. 设置编码

MySQL装完后的默认编码不是utf-8,我们需要自己设置。网上查了很多资料,也试过很多方法,但是配置硬是不生效。

网上大多数说在MySQL安装目录下将my-default.ini复制一份命名为my.ini,然后在这个文件修改编码。虽然character_set_client、

character_set_connection、character_set_results可以修改过来,但是character_set_server却一直改不过来。

后来发现是因为Mysql服务启动时默认加载的配置是C:ProgramDataMySQLMySQL Server 5.6my.ini这个文件。

所以在MySQL的安装目录怎么修改都会无济于事。

所以可以得出结论:

mysql服务(mysqld)默认加载的配置文件是C:ProgramDataMySQLMySQL Server 5.6my.ini

mysql客户端(mysql -u root -p)启动时加载的配置文件(如果存在)是C:Program FilesMySQLMySQL Server 5.6my.ini

具体修改办法(C:ProgramDataMySQLMySQL Server 5.6my.ini文件有介绍):

1. 将文件C:ProgramDataMySQLMySQL Server 5.6my.ini复制一份到MySQL安装目录下,并且把my-default.ini文件删掉(以免影响)

2. 设置[mysql] default-character-set=utf8 

3. 设置[mysqld] character-set-server=utf8

4. 删除原来的MySQL服务,重新安装将配置文件改成MySQL安装目录下的my.ini文件

以管理员身份运行cmd(普通身份运行可能会删除失败,权限不够)

sc delete MySQL56(MySQL服务名)  #删除旧的Mysql服务

安装时切换到bin目录再安装,否则启动服务时报找不到文件错误而失败

mysqld --install MySQL56 --defaults-file="C:Program FilesMySQLMySQL Server 5.6my.ini"

或者 mysqld --install MySQL56(默认安装目录下的my.ini文件)

这样mysql服务端以及mysql客户端都加载的都是安装目录下的my.ini配置文件了。

四. 查看编码

show variables like '%character%';

原文地址:https://www.cnblogs.com/wt20/p/9213826.html