linux系统版本Ubuntu 14.04.1   Mysql版本5.7.15

这几天在做管理系统时,做完之后放到前一段购买的腾讯云上测试,发现请求数据发送后显示为乱码,但是在本地测试时却没有发生这种情况,所以我感觉是Linux上Mysql数据库的字符集问题,打开数据库后发现果然是这样。

在Mysql中使用下面代码查看字符集

 show variables like ‘char%’

会发现  database 的编码方式是latin1 并且server的编码方式也是latin1

database的编码方式如果没有指定,默认使用的就是server 的编码方式所以你会发现这两个字符集是一样的。

然后在Mysql中进行了对database和server的编码方式的修改

  set character_set_database=utf8;set character_set_server=utf8;

结果重启Mysql后发现字符集依然是原来的lantin1
    后来在网上搜集了一些资料,才知道如果想让Mysql默认字符集改变需要配置文件,查看了一些文章发现大多数方法都是Mysql5.7.15之前的版本才适用,最后总结了一下,才测试正确,下面是配置方法。

1.首先查看etc安装目录下有没有my.cnf文件

  cd /etcls -l | grep my.cnf

如果存在可以跳过第二步

2.my.cnf不存在需要到Mysql配置文件路径下复制一个文件过来,配置文件路径在/usr/share/mysql下

我复制的是my-default.cnf文件,在/etc中复制文件过来,将文件改名为my.cnf ,执行以下命令

 cd /etccp /usr/share/mysql/my-default.cnf my.cnf
修改前文件内容

3.使用vi编辑器打开my.cnf加入下面几段话

建议先对文件进行备份,不过因为文件本来就是从/usr/share/mysql中复制过来的,也可以不用备份,然后打开

  cp my.cnf my.cnf.baksudo vi my.cnf

在[mysqld]上面加入下面两句话

  [client]  default-character-set=utf8 

在[mysqld]最下面加入下面几句话

  default-storage-engine=INNODB  character-set-server=utf8 collation-server=utf8_general_ci

然后保存退出

加入后文件内容

4.重启Mysql,再查看字符集

 sudo service mysql restart

发现database和server的字符集都变成了utf8,无论怎么修改,重启后字符集都是utf8,证明你成功了。

如果设置到这里还不行,再进入一下/etc/mysql/mysql.conf.d找到mysqld.cnf文件

cd /etc/mysql/mysql.conf.d
sudo vi mysqld.cnf

然后在mysqld.cnf中[mysqld]下面加入这句话

character-set-server=utf8
然后再重启下Mysql

在查阅资料的过程中可能在这些配置后还会发生一些其他问题,目前我还没有遇见,欢迎留言交流。

linux 系统下修改Mysql默认字符集相关推荐

  1. 如何在linux系统下修改mysql密码_如何在linux下修改mysql数据库密码?linux修改数据库密码的方法...

    本篇文章给大家带来的内容是介绍如何在linux下修改mysql数据库密码?linux修改数据库密码的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. Linux下修改Mysql的 ...

  2. Linux系统下修改mysql数据库密码

    修改mysql数据库的方法有很多种.这个方法适用于忘记root用户密码或者刚安装mysql要进入mysql时发现系统报错及觉得默认密码太复杂想修改密码的. 1.修改 /etc/my.cnf 文件 在 ...

  3. mac终端mysql的字符集_mac下修改mysql默认字符集为utf8

    1.首先检查默认安装的字符集 mysql> show variables like '%char%'; +--------------------------+----------------- ...

  4. mac下修改mysql默认字符集为utf8

    1.首先检查默认安装的字符集 mysql> show variables like '%char%'; +--------------------------+----------------- ...

  5. 在linux下怎么安装mysql,手把手教你在Linux系统下安装MySQL

    在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1. 下载并安装MySQL官方的 Yum R ...

  6. 2.1.Linux系统下启动MySQL的命令及相关知识

    2019独角兽企业重金招聘Python工程师标准>>> 一.总结一下:     1.Linux系统下启动MySQL的命令:     /ect/init.d/mysql start ( ...

  7. linux 默认文件属性,linux系统下文件的默认权限以及隐藏属性的作用

    [摘要] 操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序.操作系统需要处理如管理与配置内存.决定系统资源供需的优先次序.控制输入设备与输出设备.操作网络与 ...

  8. Linux系统下启动MySQL的命令及相关知识

    一.总结一下: 1.Linux系统下启动MySQL的命令: /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: /ect/init. ...

  9. 修改mysql默认字符集的方法

    mysql默认字符集能否进行修改呢?答案是肯定的,下面就将教您两种修改mysql默认字符集的方法,希望对您学习mysql默认字符集方面能有所启迪. 1. 修改my.cnf vi /etc/my.cnf ...

最新文章

  1. jquery学习(3)--高级选择器
  2. Android 开发笔记 Google地图定位与路线显示
  3. MultiRow发现之旅(二)- 详解属性管理器
  4. 动态规划--最长公共子串
  5. 图解“红黑树”原理,一看就明白!
  6. 表正在被别的用户或进程使用_linux内核对进程的管理分为两个方面
  7. 【高并发】JUC中等待多线程完成的工具类CountDownLatch
  8. Visual Studio Code 使用Git进行版本控制
  9. HTML5form表单的相关知识总结
  10. spring quartz执行两次问题
  11. c语言结构体定义常量,C语言结构体
  12. Guass Rank(深度学习数值特征归一化方法)
  13. Win10下VS2019 C++ opencv3.4.x 环境搭建过程 | 找不到opencv_world347d.dll | error LNK2019: 无法解析的外部符号
  14. 西门子免授权CNC数控系统数据采集c#、C、python都支持,可支持再各种操作系统上运行,无须西门子OPC,支持828D 840dsl 808 802dsl 840d 810d 西门子数控DNC程序
  15. 全球与中国光学光源市场现状及未来发展趋势
  16. catch小说内容-从gui到爬虫(2)
  17. 计算机开机滴一声513错误,电脑滴一声开不了机怎么办_电脑一声响后就开不了机了的处理办法...
  18. Linux系统基础学习--ubuntu
  19. java静态网页_【屌炸天源码分享】《企业网站html静态网页模板》
  20. Flask智能图书推荐系统

热门文章

  1. 【单片机】C语言总结
  2. 亳州市股权设计!亳州市股权激励方案设计价格、股权激励好处
  3. java开发安卓app教程
  4. java定时器配置_java定时器实现如何配置?
  5. DirectSound 与Waveout的区别
  6. 2018_10_5 模拟赛
  7. Android一步一步教你实现Emoji表情键盘
  8. 计算机学期总结与学业计划,大一学期总结及计划
  9. 开关电源PCB设计注意事项
  10. AMPIRE 128X64驱动程序