MySQL绿色版设置编码以及1067错误详解

MySQL绿色版设置编码,以及1067错误

查看MySQL编码

SHOW VARIABLES LIKE 'char%';

因为当初安装时指定了字符集为UTF8,所以所有的编码都是UTF8。

  • character_set_client:你发送的数据必须与client指定的编码一致!!!服务器会使用该编码来解读客户端发送过来的数据;
  • character_set_connection:通过该编码与client一致!该编码不会导致乱码!当执行的是查询语句时,客户端发送过来的数据会先转换成connection指定的编码。但只要客户端发送过来的数据与client指定的编码一致,那么转换就不会出现问题;
  • character_set_database:数据库默认编码,在创建数据库时,如果没有指定编码,那么默认使用database编码;
  • character_set_server:MySQL服务器默认编码;
  • character_set_results:响应的编码,即查询结果返回给客户端的编码。这说明客户端必须使用result指定的编码来解码;
修改character_set_client、character_set_results、character_set_connection为GBK,
就不会出现乱码了。但其实只需要修改character_set_client和character_set_results。

控制台的编码只能是GBK,而不能修改为UTF8,这就出现一个问题。客户端发送的数据是GBK,而character_set_client为UTF8,这就说明客户端数据到了服务器端后一定会出现乱码。既然不能修改控制台的编码,那么只能修改character_set_client为GBK了。

服务器发送给客户端的数据编码为character_set_result,它如果是UTF8,那么控制台使用GBK解码也一定会出现乱码。因为无法修改控制台编码,所以只能把character_set_result修改为GBK。
填上这句话:

下面是整体配置:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

basedir = H:\MySQL
datadir = H:\MySQL\data

character_set_server = utf8 

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[client]
port=3306
default-character-set = gbk

1067错误

注意my.ini里面的配置不要写错了,其实我们很多出现1067错误的都是my.ini里面配错了。

备注:

在windows10中,其实设置default-character-set = utf8,然后在cmd中进行操作也不会乱码。但是在windows8.1、windows7中就会乱码。所以在windows8.1、windows7中必须把default-character-set = gbk 设置为gbk

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Linux使用MySQL忘记root密码及修改MySQL默认编码

    概述: 本文不再对MySQL的语法进行讲解和说明,想了解或熟悉的朋友请自行百度或Google学习.本文主要是针对MySQL除语法之外的总结,希望能够也能帮助到你. 1.CentOS6.x下MySQL忘记root密码解决方法 Ⅰ. 修改MySQL的登录设置 # vim /etc/my.cnf 在[mysqld]段中加上一句:skip-grant-tables Ⅱ. 重启服务 # service mysqld restart Ⅲ. 登录Mysql,修改密码信息 # mysql mysql> USE

  • MySQL修改默认字符集编码的方法

    今天又遇到修改MySQL默认字符集编码的问题,折腾了半天解决了,赶快记录下来,以后就不用每次折腾了. 查看MySQL字符集的命令是"show variables like '%char%';". 以MySQL5.6为例,默认的字符集为: 在工作中需要将字符集全部修改为utf8. 以下是修改的方法: 1.打开安装目录,默认在"C:\Program Files\MySQL\MySQL Server 5.6", 2.在当前文件夹中复制一份"my-default.

  • MySQL字符编码设置方法

    通过show variables like 'character_set%%';查看编码 修改mysql的编码方式可以有以下几个: 1.通过配置文件修改my.ini(windows下)或/etc/my.cnf(linux下) 分别添加如下内容 [mysqld] character_server_set=utf8 [mysql] default-character-set=utf8 [mysql.server] default-character-set=utf8 [mysql_safe] def

  • mysql中数据库与数据表编码格式的查看、创建及修改

    一.查看数据库编码格式 mysql> show variables like 'character_set_database'; 二.查看数据表的编码格式 mysql> show create table <表名>; 三.创建数据库时指定数据库的字符集 mysql>create database <数据库名> character set utf8; 四.创建数据表时指定数据表的编码格式 create table tb_books ( name varchar(45

  • MySQL中使用SQL语句查看某个表的编码方法

    MySQL中,如何使用SQL语句来查看某个表的编码呢?我们使用show create table 这一SQL语句来解决这个问题. show create table可以查看创建这个表的SQL语句脚本,它的基本语法是: show create table <表名>; 我们用它看看test表的create脚本: mysql> show create table test; +-------+--------------------------------------------- -----

  • Window 下安装Mysql5.7.17 及设置编码为utf8的方法

    下载 mysql官方下载 选择Windows (x86, 64-bit), ZIP Archive 安装 1.解压 我这里解压到D盘根目录 2.进行初始化 mysql5.7之后 默认不会有data目录 所以初始化命令有所改变 打开cmd 进入mysql的bin目录,之后的命令必须在bin目录下运行(即使配置了环境变量也必须这样) mysqld--initialize-insecure 这个方法初始化完后,root用户无密码 mysqld--initialize --console.这个方法初始化

  • mysql默认编码为UTF-8 通过修改my.ini实现方法

    mysql汉字乱码的原因 mysql默认的编码是Latin1是I-8859-1的别名,但Latin1是不支持汉字的,所以要将其改为UTF-8或GBK 1.关闭mysql服务器,这个很重要. 2.通过my.ini设置mysql数据库的编码 在mysql数据库的安装根目录下找到my.ini,例:C:\Program Files\MySQL\MySQL Server 5.5 将其复制到桌面,双击打开, 搜索"default-character-set"将其改为utf8, 搜索"ch

  • MySQL查看和修改字符编码的实现方法

    MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为: >show variables like 'character%'; +--------------------------+----------------------------+ | Variab

  • MySQL绿色版设置编码以及1067错误详解

    MySQL绿色版设置编码,以及1067错误 查看MySQL编码 SHOW VARIABLES LIKE 'char%'; 因为当初安装时指定了字符集为UTF8,所以所有的编码都是UTF8. character_set_client:你发送的数据必须与client指定的编码一致!!!服务器会使用该编码来解读客户端发送过来的数据: character_set_connection:通过该编码与client一致!该编码不会导致乱码!当执行的是查询语句时,客户端发送过来的数据会先转换成connectio

  • mysql启动的error 2003和1067错误问题解决方法

    mysql安装好经常发现无法正常启动碰到最多的是error 2003的错误,以下为解决方法: mysqld -nt -remove mysqld -nt -install 重新启动mysql net start mysql 可能还会遇到服务1067错误的问题,原因大致有两个: (1)my.ini的basedir和datadir目录配置有问题,可如下面的例子修改: basedir=d:/MySQL5.0/#mysql安装位置 datadir=d:/MySQL5.0/data#数据存放位置 不过,一

  • MySQL 8.0.13 下载安装教程图文详解

    MySQL是使用最多的数据库,自己电脑上肯定要装一个来多加学习,自己搞不懂的一些东西要多写一些 sql 语句练习. 首先去 mysql 官网下载,地址: https://dev.mysql.com/downloads/mysql/ 选择上图的这个版本就可以把 windows 版的 mysql 最新版本下载下来,点进去之后并不会立刻下载,而是会跳到下图这个页面,只要点击No thanks, just start my download.即可 接下来就开始下载啦.下载完成后可以解压到你想放的地方,一

  • IDEA版最新MyBatis程序配置教程详解

    实验环境:IDEA2020.1+MySQL8.0.21+Mybatis3.5.5+Junit4.13 搭建环境–>导入Mybatis->编写代码->测试 1.搭建实验数据库 我们创建一个mybatis实验数据库,并创建一个user表为后续实验准备 CREATE DATABASE `mybatis`; USE `mybatis`; CREATE TABLE `user`( `id` INT(4) NOT NULL PRIMARY key, `name` VARCHAR(20) NOT NU

  • MySQL Installer 8.0.21安装教程图文详解

    1. 缘由 刚好需要在新系统上重新安装MySQL,便写了一份的下载安装教程,供查阅,以防日后细节有所遗忘. 2. 版本说明 MySQL Installer 8.0.21 3. 下载安装包 方式一:官网下载 进入官网下载所需的安装包:https://www.mysql.com/  (如下图所示),或直接点击https://dev.mysql.com/downloads/windows/installer/   查看最新版本. 方式二:镜像下载 官网下载的速度实在太慢了,最后搜索到一个北京理工大学的

  • linux上免安装版MySQL5.7.18的教程详解

    1. 下载mysql 从官网下载mysql的压缩包    mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 2 把下载的包上传到linux上,先安装下依赖包:Ubuntu用 apt-get install libaio*    centOS用yum install libaio* 3 用tar -xzvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 解压 改名并移动到/usr/local  下:mv mysql-5.7.1

  • Mysql的基础使用之MariaDB安装方法详解

    我首次用mysql是在ubuntu上,现在用的是linux 中的Red Hat 分支的centOS 7 ,安装时发现通常用的都是MariaDB 来代替mysql,通过资料查询发现Mariadb是mysql的其中的一种分支,由mysql的创始人带领的团队所开发的mysql分支的一种版本,因为mysql受到被Oracle收购后的日渐封闭与缓慢的更新,众多Linux发行版逐渐抛弃了这个人气开源数据库,使MySQL在各大Linux发行版中的失势由于不满MySQL被Oracle收购后的日渐封闭与缓慢的更新

  • MySql在Mac上的安装与配置详解

    一.下载安装 官网下载社区版dmg安装文件: https://dev.mysql.com/downloads/mysql/ 1.执行安装文件,按步骤完成安装. 2.安装完成后终端输入: mysql --version; ----显示版本号说明正常,若显示command not found,在终端输入如下,"/usr/local/mysql/bin/mysql"为mysql默认安装路径: $ cd /usr/local/bin/ $ sudo ln -fs /usr/local/mysq

  • mysql的存储过程、游标 、事务实例详解

    mysql的存储过程.游标 .事务实例详解 下面是自己曾经编写过的mysql数据库存储过程,留作存档,以后用到的时候拿来参考. 其中,涉及到了存储过程.游标(双层循环).事务. [说明]:代码中的注释只针对当时业务而言,无须理会. 代码如下: DELIMITER $$ DROP PROCEDURE IF EXISTS `transferEmailTempData`$$ CREATE PROCEDURE transferEmailTempData(IN jobId VARCHAR(24)) BEG

  • MySQL 设计和命令行模式下建立详解

    MySQL 设计和命令行模式下建立详解 系列文章: MySQL 设计和命令行模式下建立详解 C++利用MySQL API连接和操作数据库实例详解 1.数据表的设计 MySQL数据库管理系统(DBMS)中,包含的MySQL中定义数据字段的类型对你数据库的优化是非常重要的.MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 下面以大学熟悉的学生选课管理系统中用到的数据库为例,来设计相应的数据表.主要有三张表:学生表,课程表和选课表. 学生表设计: 字段(Field) 类

随机推荐