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代码   收藏代码
  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  


打开命令提示符,进入 %MYSQL_HOME%/bin 目录,执行命令: mysqld -install 将mysql安装到windows的服务。执行成功后会提示: C:\mysql-5.5.10-win32\bin>Service successfully installed.  
若是想要卸载服务执行命令: mysqld -remove 。 

而后在命令提示符下执行: net start mysql 就能启动mysql了,中止服务输入命令: net stop mysql 。若是想设置mysql是否自动启动,能够在开始菜单->运行中输入 services.msc 打开服务管理进行设置。 

第一次登陆的时候输入: 

C:\Users\Administrator>mysql -u root  

修改密码: 

mysql> update mysql.user set password=PASSWORD('root') where User='root' 
mysql> flush privileges
 

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

系统出错。 

发生系统错误 1067。 

进程意外终止。
 

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

110327  0:12:02 [ERROR] MySQL: unknown variable 'default-character-set=utf8'  

感受很奇怪,之前一直都这样安装的。最后在mysql的官网上找到一篇中国DBA的求助信息,原来这是新版本的一个bug,不支持在my.ini中直接设置字符集为utf8。解决办法是:在default-character-set=utf8前面加上 loose- 即:
Properties代码   收藏代码
  1. [mysqld]  
  2. #设置字符集为utf8  
  3. loose-default-character-set = utf8  
  4.   
  5. [client]  
  6. #设置客户端字符集  
  7. loose-default-character-set = utf8  


启动果真再也不报错了。。。那份求助信息的原文地址: 
http://forums.mysql.com/read.php?103,189835,237318  

后记:  

虽然使用上面的方式加入loose-之后,mysql启动再也不报错了。可是在插入数据时依然出现了乱码问题,给我形成了不小的麻烦。 
mysql> show variables like '%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\ | 
+--------------------------+---------------------------------------+ 

问题完美解决 
相关文章
相关标签/搜索