Mysql5.6.23免安装配置

来源:互联网 发布:5g网络股票 编辑:程序博客网 时间:2024/06/05 02:21


mysql 5.6.23是mysql当前的最高版本,我下载的是Mysql Community Server(GPL版本)。下载地址:http://dev.mysql.com/downloads/mysql/

下载版本如下:

首先是Windows系统下的,如图1:

 

                               图1

我的电脑是32位的,所以我选择32bit的,如图2:

                                  图2

我下载到了E:\ ,然后解压到E:\ 后,为mysql-5.6.23-win32的一个文件夹,我以为是个安装文件,谁知打开后,竟然是已经安装好后的mysql文件。

这是免安装的。哈哈

1 相关配置

(1) 解压后只有my-default.ini文件,没有my.ini文件。复制一个my-default.ini,更名为my.ini。然后在这个文件中加入如下语句:

[client]

port=3306

default-character-set=utf8

[mysqld]

port=3306

character_set_server=utf8

basedir=E:\mysql-5.6.23-win32

datadir=E:\mysql-5.6.23-win32\data

(2)把mysql的bin目录的路径加入到环境变量中去:

Path后面加上;E:\mysql-5.6.23-win32\bin

(3)启动mysql

运行cmd,进入dos界面。进入e:\mysql-5.6.23-win32\bin ,启动mysqld,意味着把mysql的进程打开了,如图3:

                                  图3

再打开一个cmd,同样进入e:\mysql-5.6.23-win32\bin ,开始以root身份登录mysql

键入命令mysql -h localhost -u root -p 回车,会有Enter Password的提示,初次登录密码是空的,直接回车就可以进入mysql。

如果想修改密码,可以键入如下命令(我将密码修改为123456,这样容易记忆):

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');下次重新以root身份登录时,输入新修改的密码进入即可。

(4)在my.ini中加入的语句不是随便加的,特别是对字符集的说明。在没加入对字符集的说明语句时,我遇到中文乱码问题更是一筹莫展,可愁死我了。

对mysql的配置就是上面的那些,具体为什么这么做,我想大概是每次启动mysql时,会检查或者启动my.ini吧,它是个安装文件,所以环境变量也需要修改下。(可能我的分析也不是很对,暂且这么认为吧)

2 中文乱码处理

我创建了一个数据库DataCenter,在这个数据库中创建了一个员工表Employee,其中有个员工姓名字段name,类型是varchar(8),每次插入数据时,插入中文名字时就会报错,主要是下面两种错误:

(1) Incorrect string value:......

在网上找了很多,都说是字符集的问题,可以在mysql下键入show variables like “char%”,查看下字符集,在没有配置my.ini之前,我查看了下,我的字符集有latin1。其中的

character_set_database=latin1

character_set_server=latin1

这也就不难猜想为什么会有中文乱码的问题了。

当然有了my.ini后,加入default-character-set=utf8和

character_set_server=utf8后,当有了my.ini后,并且修改my.ini的内容后,保存这个文件。关掉mysqld进程,退出mysql,重新开启mysqld进程,重新进入mysql。再查看字符集,是如下的情况,如图4:

                                  图4

这就修改过来了,如果只是键入如下命令:

set character_set_database='utf8';

set character_set_server='utf8';

这个是没用的,不能永久改变字符集,只有在my.ini中配置才能起作用。

还有说向数据库中插入数据时,set names gbk;或者set names gb2312,就可以插入中文或者显示中文,可是这对我的数据库是无用的,啊偶,真是哭了。

我是怎样关掉mysqld进程的,ctrl+Alt+Delete查看正在运行中的进程,关掉mysqld.exe。(这个关掉进程的办法虽然笨吧,可是倒也有效)

然后往数据库中加入名字的值时insert into Employee (name) values (‘燕子’); 还是会出错,不过报的错是下面(2)的错误。

我试着把原来创建的数据库和数据表删除,重建,重新插入数据,还是有错。但把表删除重建是必要的。

(2)data too long for column: .......

解决办法,我参照了http://www.syazone.com/2014/01/43.html 中这个网友的第一条,将my.ini中的一句话sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES注释掉,即在这句话前面增加一个# 。

再保存my.ini,关掉mysqld进程,再重启进程,再插入数据,这次竟然神奇般的插入成功了,把我给高兴的。

再查询,结果如下:

至此,中文乱码问题解决了,也许是误打误撞,但总还是有些依据有些道理的。

记得每次修改完my.ini文件的内容后,要保存。然后关掉mysql进程,再重启mysql。这样my.ini的内容才会起作用。

0 0
原创粉丝点击