Mysql-5.7.19配置(报错1055)以及常见问题(无法输入中文1366)

本文的前提是已经安装好mysql-5.7.19和Navicat for MySQL这两个东东,具体前面怎么安装见这两个网址。
http://www.jb51.net/article/119369.htm
http://www.cnblogs.com/neuedu/p/5876874.html

然后就是正文了。。。
对于1055报错,我去查阅了很多人的解决方案,基本都是出现在5.7这个版本才会出现的问题,可能数据库在某个地方debug了一个漏洞吧。
基本都是改my.ini(Windows系统下)那个文件,但是发现根本没有my.ini那个文件,只有default-my.ini类似这个文件吧,先要把这个文件改名为my.ini。然后改sql_mode这一行,一般是删除这个ONLY_FULL_GROUP_BY这一个东东,改成如下:
[mysqld]
sql_mode=”STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
如果没有,直接加上,但是还是会出现报错1055的问题
首先在Navicat或者直接管理员身份运行cmd,一直cd到bin文件进入数据库后,运行如下命令:

show VARIABLES like ‘sql_mode’;

运行后发现还是配置没有变化,就运行这一句(每次进入数据库都运行):

set global sql_mode=’STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,
NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;

基本以上1055问题就解决了
1366问题是汉语输入问题
首先运行这一句

show VARIABLES like ‘%char%’;

可以看见character_set_database和character_set_server的值,要么是utf8(其实utf8是支持绝大多数中文字体但是极少数中文字体不支持),GBK(支持所有中文字体,所以对于1366很多哥们的解决方法是改my.ini文件,改成如下:
[client]
default-character-set=utf8或者GBK
[mysqld]
character_set_server=utf8或者GBK
,但是还是会有bug),所以自己真正运行的时候要

set default-character-set=utf8;#或者gbk
set character_set_server=utf8;#或者gbk

有时候你遇到的是latin1(latin1不支持欧元符号)就更改成如上,因为latin1是mysql的默认编码,是只支持单字符不支持中文的。还有每次用客户端的时候都要set一下
(字符集会另外单独起一篇文章)

set names ‘utf8’;

这样保险。
然后你会发现这样并没有完,还是有bug这里写图片描述
这里你会发现全文的东东都改了,但是表里面的字符集没有改,这里改成utf8就可以了先

SHOW CREATE DATABASE db_name; #查看数据库编码
SHOW CREATE TABLE db_name; #查看数据库编码
SHOW FULL COLUMNS FROM tbl_name; #查看字段编码

如:

ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

这样就基本解决了,总之我是这样的
进入先做这一步

set global sql_mode=’STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,
NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;
set names ‘utf8’;
show variables like ‘%char%’;
set character_set_database=utf8;
set character_set_server=utf8;
show variables like ‘%char%’;

做完后就大吉大利啦!期望你遇见这些问题也能棒棒哒解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值