原文:https://blog.csdn.net/qq_32953079/article/details/54629245,亲测有效,故记录之。

一、登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

character_set_database和character_set_server的默认字符集还是latin1。

二、最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):

1、在[client]字段里加入default-character-set=utf8,如下:

[client]
default-character-set=utf8

2、在[mysqld]字段里加入character-set-server=utf8,如下:

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8

3、在[mysql]字段里加入default-character-set=utf8,如下:

[mysql]
no-auto-rehash
default-character-set=utf8

修改完成后,service mysql restart重启mysql服务就生效。注意:[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。

使用SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码全已改成utf8。

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

4、如果上面的都修改了还乱码,那剩下问题就一定在connection连接层上。解决方法是在发送查询前执行一下下面这句(直接写在SQL文件的最前面):
SET NAMES 'utf8'

它相当于下面的三句指令:


SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;

网上很多其他方法不能彻底解决这个问题,这个可以完美解决!

--------------------------------------------------------------------------------------------------------分割线----------------------------------------------------------------------------------------------------------------------------

附:mysql开启远程连接和开放3306端口

CentOS下开启mysql远程连接,远程管理数据库
当服务器没有运行php、没装phpmyadmin的时候,远程管理mysql就显得有必要了。因为在CentOS下设置的,所以标题加上了CentOS,以下的命令在debian等系统下应该也OK。

mysql -u root -p mysql # 第1个mysql是执行命令,第2个mysql是系统数据名称
在mysql控制台执行:

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
# root是用户名,%代表任意主机,'123456'指定的登录密码(这个和本地的root密码可以设置不同的,互不影响)
flush privileges; # 重载系统权限
exit;
允许3306端口
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

# 查看规则是否生效
iptables -L -n # 或者: service iptables status

# 此时生产环境是不安全的,远程管理之后应该关闭端口,删除之前添加的规则
iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
PS,上面iptables添加/删除规则都是临时的,如果需要重启后也生效,需要保存修改:
service iptables save # 或者: /etc/init.d/iptables save
另外,
vi /etc/sysconfig/iptables # 加上下面这行规则也是可以的
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

转载于:https://www.cnblogs.com/20143605--pcx/p/9176382.html

CentOS 7 + MySql 中文乱码解决方案相关推荐

  1. mysql中文乱码解决方案_Mysql中文乱码解决方案

    Mysql中文乱码解决方案 时间:2017-07-11     来源:华清远见JAVA学院 中文乱码问题一直是我们编程过程中比较常见又让人头疼的问题,但是只要按照标准进行配置,就能很好的避免出现中文乱 ...

  2. linux下mysql乱码,Linux下mysql中文乱码解决方案

    中文存入 mysql 数据库出现的乱码,从 JSP 页面读取 mysql 中文数据出现乱码,以及在 sell 环境下查看数据库表中文数据出现乱码.为了解决中文乱码问题,首先是采用同一字符集.本人采用的 ...

  3. mysql中文乱码解决方案_关于MySQL中文乱码的完美解决方案

    当用客户端或用其他方式连接数据键入中文数据后,在client中的显示为乱码,当然这是字符集设置出现了问题.我先后尝试了很多办法 当用客户端或用其他方式连接数据键入中文数据后,在client中的显示为乱 ...

  4. Mysql 中文乱码问题完美解决方案

    Mysql 中文乱码问题完美解决方案 参考文章: (1)Mysql 中文乱码问题完美解决方案 (2)https://www.cnblogs.com/fangyh/p/6286699.html 备忘一下 ...

  5. 图形化mysql出现乱码_关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)...

    最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅. 首先: 用show variables like &quo ...

  6. PHP——PHP读取MySQL数据库中文乱码解决方案

    问题描述 PHP读取MySQL数据库中文乱码 解决方案 静态页面  <head> <metahttp-equiv="Content-Type"content=&q ...

  7. 【_ 記 】MySQL 中文乱码问题完美解决方案

    MySQL 中文乱码问题完美解决方案 解决乱码的核心思想是统一编码. 我们在使用 MySQL 建数据库和建表时应尽量使用统一的编码,强烈推荐的是 utf8 编码,因为该编码几乎可以兼容世界上所有的字符 ...

  8. mysql设置数据库显示汉字_在CMD中操作mysql数据库出现中文乱码解决方案

    百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 . 其实,只要保证cmd客户端和MySQL两者编码一致即可. ...

  9. MySQL编程(0) - Mysql中文乱码问题解决方案

    MySQL 5.6 for Windows 解压缩版配置安装: http://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html MySQL ...

最新文章

  1. 【转】G40-70、G50-70联想小新笔记本SR1000随机Linux改Windows 7系统操作指导
  2. Python批量剪裁图片
  3. Spring JDBC-使用Spring JDBC获取本地连接对象以及操作BLOB/CLOB类型数据
  4. 销售自己使用过的小汽车纳多少增值税
  5. micropython实现多任务_python多任务处理
  6. CSS3中的变形处理
  7. 牛客 - 小V的序列(思维+位运算)
  8. CodeForces - 160E Buses and People(线段树+三维偏序)
  9. React开发(218):dva注意对应
  10. 【Linux】查看文件内容的相关命令总结
  11. JavaScript学习笔记(一)—— 数据类型
  12. UE4手册中文翻译速查表
  13. spss 因子分析非正定矩阵解决方案
  14. 数据分析(六)--聚合分组,交叉表,透视表,练习
  15. OpenStack基本安装步骤
  16. IText生成PDF 加粗字体的代码例子
  17. python计算机视觉:创建缩略图
  18. Word图片无法置于文字上方解决方法
  19. Python函数(完整版)
  20. [Codeforces Round #373 DIV1E (CF718E)] Matvey's Birthday

热门文章

  1. 第一季度Teradata营收下降7.3% 利润下跌63%
  2. 华尔街分析师点评NetApp转型战略
  3. 下载并导出数据到execl中
  4. 转】R利剑NoSQL系列文章 之 Hive
  5. 使用 MTR 诊断网络问题
  6. elasticsearch 查询(match和term)
  7. Python快速学习06:词典
  8. 1、tomcat目录及端口规划实践
  9. 详解Android Handler的使用
  10. VMM2012中虚拟机的创建