重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
方法/步骤
成都创新互联专注于企业成都全网营销、网站重做改版、无棣网站定制设计、自适应品牌网站建设、HTML5建站、商城系统网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为无棣等各大城市提供网站开发制作服务。
1
将下载的mysql-5.6.24-win32.1432006610.zip解压到C:\Program Files(x86)\MySQL路径中(因为下载的是mysql32位版),当然你也可以选择解压到其他盘符。
2
接下来配置环境变量,如没有配置会提示:发生系统错误 2,未找到指定文件!
方法如下:
打开我的电脑—属性—高级系统设置—环境变量—选择Path,点编辑。在其后面添加你的mysql bin文件夹的路径 (C:\Program Files (x86)\MySQL\bin; )
注意是在后面添加,以英文 ; 隔开,切记不要覆盖原有路径!
3
修改配置文件:在你解压的mysql文件夹里有一个 my-default.ini 文件,打开如图:修改图中红色圈的内容,
basedir = C:\Program Files (x86)\MySQL(MySQL所在目录)
datadir = C:\Program Files (x86)\MySQL\data(MySQL中data所在目录)
注:前面的 #去掉。如图
4
以管理员身份运行CMD,输入:cd C:\Program Files (x86)\MySQL \bin如图:
输入:mysqld -install,接着会提示安装成功,进行下一步,启动MySQL服务:net start mysql,提示:MySQL服务正在启动
MySQL服务启动成功。如图,(由于我是已经配置好的,所以会提示:The service already exists!)
注:以上命令符操作必须进入到bin目录下进行,否则提示系统出错!
5
到此所有配置已经完成,进入登录。接着以上操作输入:mysql -u root -p。(连接数据库服务器的命令:-u 是mysql数据库用户名,默认为root,-p密码),初次登录没有密码按ENTER键跳过,进入如图界面,登录成功!
1、中文乱码
1.1、中文乱码
create table user(name varchar(11)); # 创建user表 insert into table user("carl"); # 添加数据 select * from user;123
insert into user value("哈哈");1
无法插入中文字符:
1.2、查看表字符编码
mysql show create table user \G;*************************** 1. row *************************** Table: userCreate Table: CREATE TABLE `user` ( `name` varchar(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)1234567
我们可以看到表的默认字符集是latin1.
所以我们在创建表的时候就需要指定表的字符集:
create table user(name varchar(11)) default charset=utf8; 1
这样在Linux里面可以访问并且可以插入与访问这个表了。
1.3、数据库与操作系统编码
虽然在服务器端可以显示中文正常,但是在客户端可能会显示乱码。因为我们的服务器是UTF8。
而且数据库的编码也存在问题。
这里我们可以看character_sert_database与character_set_server的字符集都是latin1.那么在mysql数据库中,server,database,table的字符集都默认是latin1.下面我们就来看看如何解决mysql乱码情况。
2、mysql设置变量的范围
2.1、session范围
查看数据库编码:
show variables like '%char%';1
修改字符编码:
set character_set_server=utf8;set character_set_database=utf8;show variables like '%char%';123
我们可以看到字符集已经修改成都是utf8了。但是这里有一个问题,那就是我们重新打开一个命令窗口然后查看数据编码就会出现下面的画面:
2.2、global范围
mysql设置变量的范围默认是session范围。如果设置多个会话的字符集那么需要设置global范围:Set [global|session] variables …
set global character_set_database=utf8;set global character_set_server=utf8;show variables like '%char%';123
当我们跨会话查看mysql字符集都会看到都是utf8。如果你以为万事大吉了的话,那么你就大错特错了。
2.3、设置数据全局范围
当我们数据库重启的时候,你们发现设置global范围的值又变成latin1了。
service mysqld restart
mysql -uroot -pyourpasswordshow variables like '%char%';123
不要怕,下面就教你终极大招:
修改mysql配置文件/etc/my.cnf。
[mysqld]
character-set-server=utf8
[client]default-character-set=utf8
[mysql]default-character-set=utf8123456
请注意这几个参数配置的位置,不然可能会启动不起来mysql服务:
OK。这下如果你重启mysql服务也会发现它的字符集是utf8.
而且我们创建表的时候不需要指定字符编码,它默认就是utf8;
drop database test;create database test;use test;create table user(name varchar(11));show create table user \G;12345
1、修改安装文件根目录下的my.ini文件:\x0d\x0a搜索字段default-character-set,设置其值为utf8/gbk之一(注意设置utf8的时候不能设成utf-8)\x0d\x0a再去重启MySQL服务器\x0d\x0a如果还是出现乱码,接着执行下面操作\x0d\x0a2、修改数据库编码\x0d\x0a在安装目录的data目录下找到你出现乱码的数据库对应的文件夹(这个文件夹即是你这个数据库存放数据的地方),\x0d\x0a进入找到db.opt文件(即此数据库的编码配置文件),修改值为下面的\x0d\x0adefault-character-set=gbk\x0d\x0adefault-collation=gbk_chinese_ci\x0d\x0a再去重启MySQL服务器\x0d\x0a如果还是出现乱码,接着执行下面操作\x0d\x0a3、再不行,备份原数据库数据,直接drop掉这个数据库\x0d\x0a重新创建数据库并设置编码\x0d\x0acreate database yourDB character set gbk;\x0d\x0a别忘了重启MySQL服务器综上:如果还没有解决,我也没辙了。重装吧,重装的时候设置下编码三处的编码要一致