Windows下安装MySQL解压版(转载)

到官网下载mysql-5.5.10-win32.zip,然后将mysql解压到任意路径,如:C:\mysql-5.5.10-win32

打开计算机->属性->高级系统设置->环境变量,新建一个环境变量,变量名为:MYSQL_HOME,变量值为你的mysql根目录,如:C:\mysql-5.5.10-win32

然后在系统变量Path中添加:;%MYSQL_HOME%\bin

在根目录下面有几个已经写好的"my-"开头的ini文件,选一个适合你的,如:my-small.ini。复制一份,将文件名修改为my.ini,添加以下内容:
Properties代码 Windows下安装MySQL解压版(转载) Windows下安装MySQL解压版(转载)Windows下安装MySQL解压版(转载)
  1. [mysqld]   
  2. #设置字符集为utf8   
  3. default-character-set = utf8   
  4. basedir = C:/mysql-5.5.10-win32   
  5. datadir = C:/mysql-5.5.10-win32/data   
  6.   
  7. [client]   
  8. #设置客户端字符集   
  9. default-character-set = utf8   
  10.   
  11. [WinMySQLadmin]   
  12. Server = C:/mysql-5.5.10-win32/bin/mysqld.exe  
[mysqld]
#设置字符集为utf8
default-character-set = utf8
basedir = C:/mysql-5.5.10-win32
datadir = C:/mysql-5.5.10-win32/data

[client]
#设置客户端字符集
default-character-set = utf8

[WinMySQLadmin]
Server = C:/mysql-5.5.10-win32/bin/mysqld.exe

打开命令提示符,进入%MYSQL_HOME%/bin目录,执行命令:mysqld-install将mysql安装到windows的服务。执行成功后会提示:C:\mysql-5.5.10-win32\bin>Servicesuccessfullyinstalled.

如果想要卸载服务执行命令:mysqld-remove

然后在命令提示符下执行:netstartmysql就能启动mysql了,停止服务输入命令:netstopmysql。如果想设置mysql是否自动启动,可以在开始菜单->运行中输入service.msc打开服务管理进行设置。

第一次登录的时候输入:

C:\Users\Administrator>mysql-uroot

修改密码:

mysql>updatemysql.usersetpassword=PASSWORD('root')whereUser='root'

mysql>flushprivileges

不过我在安装过程中还是出了点小问题,启动mysql的时候报错:

系统出错。

发生系统错误1067。

进程意外终止。

打开%MYSQL_HOME%/data目录下的用户名.err文件,mysql的错误日志就记录在这个文件中。在里面发现这样一句话:

1103270:12:02[ERROR]MySQL:unknownvariable'default-character-set=utf8'

感觉很奇怪,以前一直都这样安装的。最后在mysql的官网上找到一篇中国DBA的求助信息,原来这是新版本的一个bug,不支持在my.ini中直接设置字符集为utf8。解决办法是:在default-character-set=utf8前面加上loose-即:
Properties代码  

 

[mysqld] 
# 设置mysql的安装目录 
# 设置mysql数据库的数据的存放目录,必须是data,或者是//xxx-data 
basedir=E://mysql-5.5.15-win32
datadir=E://mysql-5.5.15-win32//data 
#
# 设置mysql服务器的字符集 ,默认编码 v5.5.10之后不支持default-character-set=utf8
loose-default-character-set=utf8
character-set-server = utf8

[client] 
# 设置mysql客户端的字符集 
loose-default-character-set=utf8


[WinMySQLAdmin] 
# 指定mysql服务启动启动的文件 
Server=E://mysql-5.5.15-win32//bin//mysqld.exe

 

启动果然不再报错了。。。那份求助信息的原文地址:

http://forums.mysql.com/read.php?103,189835,237318

后记:

虽然使用上面的方式加入loose-以后,mysql启动不再报错了。但是在插入数据时依然出现了乱码问题,给我造成了不小的麻烦。

mysql>showvariableslike'%char%';

通过以上命令查看字符集编码,得到如下结果:

+--------------------------+---------------------------------------+

|Variable_name|Value|

+--------------------------+---------------------------------------+

|character_set_client|utf8|

|character_set_connection|utf8|

|character_set_database|latin1|

|character_set_filesystem|binary|

|character_set_results|utf8|

|character_set_server|latin1|

|character_set_system|utf8|

|character_sets_dir|C:\mysql-5.5.10-win32\share\charsets\|

+--------------------------+---------------------------------------+

可以看出character_set_database,character_set_server的编码还是默认的latin1。

在[mysqld]配置选项下添加character-set-server=utf8,重启服务进入mysql再次查看:

+--------------------------+---------------------------------------+

|Variable_name|Value|

+--------------------------+---------------------------------------+

|character_set_client|utf8|

|character_set_connection|utf8|

|character_set_database|utf8|

|character_set_filesystem|binary|

|character_set_results|utf8|

|character_set_server|utf8|

|character_set_system|utf8|

|character_sets_dir|C:\mysql-5.5.10-win32\share\charsets\|

+--------------------------+---------------------------------------+

问题完美解决

相关推荐