Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 518|回复: 0

Windows中mysql的配置文件,解决字符集编码问题,统一使用utf8字符集

[复制链接]
  • TA的每日心情
    奋斗
    2024-6-6 10:50
  • 签到天数: 750 天

    [LV.10]以坛为家III

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    706216
    发表于 2021-7-20 15:20:22 | 显示全部楼层 |阅读模式

    登录到mysql数据库中,输入

    show variables like "%character_set%";

    查看默认字符集

     

    我们正常创建的数据库就是下面这样子的

     

     (默认的字符集为 latin1)

    这就会导致在Windows中使用的时候经常会因为字符集的编码问题出现不能导入其他的备份库的情况下,下面就给出两种解决方案

    1.创建数据库的时候直接设置

    create database myDatabase default char set utf8;
    

     

    2.配置my.ini文件

      在mysql安装的目录下面

     

     

    如果没有文件,就新建一个文件名为my.ini的文件,编辑该文件,内容为以下:

    [client]
    port=3306
    
    [mysql]
    no-beep
    
    default-character-set=utf8
    
    [mysqld]
    port=3306
    
    # mysql根目录
    basedir=D:\DateBase\mysql-5.7.27
    
    # 放所有数据库的data目录
    datadir=D:\DateBase\mysql-5.7.27\data
    
    # character-set-server=
    # 服务端使用的字符集默认为8比特编码的latin1字符集  
    character-set-server=utf8  
    
    # 默认存储引擎innoDB
    default-storage-engine=INNODB
    
    # Set the SQL mode to strict
    sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    
    #日志输出为文件
    log-output=FILE
    
    # 是否开启sql执行结果记录,必须要设置general_log_file参数,日志的路径地址
    # 即日志跟踪,1为开启,0为关闭
    general-log=0
    general_log_file="execute_sql_result.log"
    
    # 配置慢查询,5.7版本默认为1
    slow-query-log=1
    slow_query_log_file="user-slow.log"
    long_query_time=10
    
    #默认不开启二进制日志
    #log-bin=mysql-log
    
    #错误信息文件设置,会将错误信息放在data/mysql.err文件下
    log-error=mysql.err
    
    # Server Id.数据库服务器id,这个id用来在主从服务器中标记唯一mysql服务器
    server-id=1
    
    #lower_case_table_names: 此参数不可以动态修改,必须重启数据库
    #lower_case_table_names = 1  表名存储在磁盘是小写的,但是比较的时候是不区分大小写
    #lower_case_table_names=0  表名存储为给定的大小和比较是区分大小写的 
    #lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的
    lower_case_table_names=1
    
    #限制数据的导入导出都只能在Uploads文件中操作,这个是在sql语句上的限制。
    #secure-file-priv="D:\AppServ\mysql-5.7.23/Uploads"
    #值为null ,也就是注释掉这个参数或者secure-file-priv=null。表示限制mysqld 不允许导入|导出
    #值为/tmp/ ,即secure-file-priv="/tmp/" 表示限制mysqld 的导入|导出只能发生在/tmp/目录下
    #没有具体值时,即secure-file-priv=      表示不对mysqld 的导入|导出做限制
    
    # 最大连接数
    max_connections=151
    # 打开表的最大缓存数
    table_open_cache=2000
    
    # tmp_table_size 控制内存临时表的最大值,超过限值后就往硬盘写,写的位置由变量 tmpdir 决定 
    tmp_table_size=16M
    
    # 每建立一个连接,都需要一个线程来与之匹配,此参数用来缓存空闲的线程,以至不被销毁,
    # 如果线程缓存中有空闲线程,这时候如果建立新连接,MYSQL就会很快的响应连接请求。
    # 最大缓存线程数量
    thread_cache_size=10
    

      再次查询一下默认编码集:

     

     再次创建数据库测试:

     

     字符编码已经没有问题了!

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-6-15 09:14 , Processed in 0.068964 second(s), 30 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表