打开计算机->属性->高级系统设置->环境变量,新建一个环境变量,变量名为:MYSQL_HOME,变量值为你的mysql根目录,如:C:\mysql-5.5.10-win32
然后在系统变量Path中添加:%MYSQL_HOME%\bin
在根目录下面有几个已经写好的"my-"开头的ini文件,选一个适合你的,如:my-small.ini。复制一份,将文件名修改为my.ini,添加以下内容:
Properties代码
[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>Service successfully installed.
如果想要卸载服务执行命令:mysqld -remove。
然后在命令提示符下执行:net start mysql就能启动mysql了,停止服务输入命令:net stop mysql。如果想设置mysql是否自动启动,可以在开始菜单->运行中输入service.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代码
[mysqld]
#设置字符集为utf8
loose-default-character-set = utf8
[client]
#设置客户端字符集
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\ |
+--------------------------+---------------------------------------+
问题完美解决
用PHP的话,mysql_query("set names 'GBK'")或直接在整理那里选 gbk_chinese_ci
还是不行的话,就改设置。
mysql>status //查看数据库状态
--------------
c:/wamp/bin/mysql/mysql5.5.8/bin/mysql.exe Ver 14.14 Distrib 5.5.8, for Win32 (
x86)
Connection id: 2
Current database:
Current user: root@localhost
SSL:Not in use
Using delimiter:
Server version: 5.5.8-log MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset:latin1
Db characterset:latin1
Client characterset:gbk
Conn. characterset:gbk
TCP port: 3306
Uptime: 1 min 44 sec
Threads: 1 Questions: 16 Slow queries: 0 Opens: 35 Flush tables: 1 Open tab
les: 28 Queries per second avg: 0.153
--------------
看到字符集是lantin1时,则需设置gbk后才能显示中文(不然显示将是一串??????)
打开MySQL配置文件my.ini,随意找块空白贴上下面四行:
[client]
default-character-set = gbk
[mysqld]
character-set-server = gbk
重启mysql,进入mysql>status //再次查看
--------------
c:/wamp/bin/mysql/mysql5.5.8/bin/mysql.exe Ver 14.14 Distrib 5.5.8, for Win32 (
x86)
Connection id: 3
Current database:
Current user: root@localhost
SSL:Not in use
Using delimiter:
Server version: 5.5.8-log MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset:gbk
Db characterset:gbk
Client characterset:gbk
Conn. characterset:gbk
TCP port: 3306
Uptime: 6 min 10 sec
Threads: 1 Questions: 19 Slow queries: 0 Opens: 35 Flush tables: 1 Open tab
les: 28 Queries per second avg: 0.51
--------------
OK,此时,已可以向数据库输入中文!
1、下载MySQL-5.5.10-win32.zip的版本。2、解压到任意路径,比如"D:\Programm Files\"。
3、进入MySQL路径,复制my-small.ini为my.ini,
在[mysqld]部分添加
basedir = "D:/Program Files/Mysql-5.5.10-win32"
datadir = "D:/Program Files/Mysql-5.5.10-win32/data"。
# 设置mysql服务器的字符集(可选)
default-character-set=gbk
[client]
# 设置mysql客户端的字符集(可选)
default-character-set=gbk
4、将MySQL的bin目录路径添加到系统变量里。(可选)
5、注册服务
CMD进入MySQL/bin文件夹
mysqld --install "MySQL Database Service" --defaults-file="D:\Program Files\MySQL-5.5.10-win32\my.ini"
("MySQL Database Service"为服务名,带空格需用引号,可自取)
("D:\Program Files\MySQL-5.5.10-win32\my.ini"为INI路径,带空格需用引号)
启动服务
net start "MySQL Database Service"
6、首次登陆MySQL
mysql -u root -p
(密码为空)
7、设置密码
mysql>use mysql
Database changed
mysql>update user set PASSWORD = PASSWORD('你的新密码') where USER='root' and HOST='localhost'
Query OK, 1 row affected (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql>flush privileges
mysql>exit
8、完成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)