http://blog.csdn.net/u013145194/article/details/51527389

注:以上是转载,但我实际使用的时候,修改配置文件重启数据库,然后修改表的类型即可

20180628补充

我现在使用的是ucloud的云数据库,发现在控制台无论怎么set修改数据库的类型,表类型,字段类型都是不行的。

需要修改云数据库的配置文件character_set_server=utf8mb4,然后再重启才能真正utf8mb4生效。

浪费了两个多小时。

20180629补充

我再往另外的数据导入的时候,反而没有问题。 这次导入我使用的是mysqldump,嗯,之前有问题时使用的是sqoop,那么应该是sqoop client端的问题了。

1.修改mysql的配置文件

找到/etc/mysql路径下的my.cnf文件,通过vi命令打开该文件并进行编辑,需添加如下所示配置:

[client]

default-character-set=utf8mb4

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect=’SET NAMES utf8mb4'

[mysql]

default-character-set=utf8mb4

修改完毕之后,通过wq保存退出

2.修改database/table和column的字符集

进入mysql中,按下述所示进行命令的执行:

1) 修改database的字符集:

ALTER DATABASE 数据库名 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

示例:

ALTER DATABASE xxxdb CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

2) 步骤1)执行完成之后,需要执行use 数据库名,指明当前需要进行字符集修改的数据库;示例:use xxxdb;

3)修改table的字符集:

ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

示例:

ALTER TABLE user_comments CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

4) 修改column的字符集:

ALTER TABLE 表名 CHANGE 字段名 字段名 该字段原来的数据类型 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

示例:

ALTER TABLE user_comments CHANGE content content TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

上述修改完毕,exit退出mysql

3.重启mysql

这里重启的时候我一开始用的是service mysql restart,最后发现这条命令并不管用,重启没有成功,导致后面查看字符集的时候,并没有达到想要的字符集的状态。

所以采用下面的方法才可以正确的重启mysql.

3.1停止msql的运行

通过/etc/init.d/mysql执行stop命令

3.2启动mysql

通过/etc/init.d/mysql执行start命令

4.检查字符集:

进入mysql中,用SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';命令查看字符集的情况

上述步骤实现之后便可成功使用emoji表情存储进mysql数据库的功能了。

————————————————————————————————————————————————————————————————

由于mysql数据库是需要备份和还原的,所以带有emoji表情的.sql文件的导入和导出的时候需要注意执行时的编码格式,以下为导入与导出的具体操作:

5.带有emoji表情的sql文件的导入与导出(主要为windows中的导出)

(若是在服务端的代码中的导出为:mysqldump –default-character-set-utf8mb4 –u 用户名 –p 数据库名 > 导出该文件的物理路径;导入的命令不需要指明编码格式,只需要正常的执行命令便可)

5.1导出

在进行把后缀名为.sql的文件,且文件数据中包含emoji表情的数据,进行备份导出的时候,此时不要使用第三方软件进行导出,而是使用命令行的形式执行该导出动作,其主要原因是使用第三方导出该文件时,由于其默认的导出的编码格式为utf-8,该编码格式最多只支持3个字节,而一个emoji表情有4个字节,这将导致emoji表情的数据变成乱码。所以在本地导出的时候具体操作步骤如下:

一、 打开cmd,先找到mysqldump这个执行文件所在的路径;

二、 在路径后输入mysqldump –default-character-set-utf8mb4 –u 用户名 –p 数据库名 > 导出该文件的物理路径,按“Enter”,即可完成导出功能,在导出的物理路径中即可找到已被导出的该文件。

5.2导入

把Linux系统中的.sql文件导入到本地的时候,不要使用Navicat Premium来进行导入,而是使用如下所示的命令行中的source .sql文件的物理路径,来进行如下的导入。

mysql 设置utf8mb4_mysql配置utf8_mb4相关推荐

  1. centos mysql 设置_CentOS下MySQL安装后配置和设置-阿里云开发者社区

    CentOS下MySQL安装后配置和设置: 1:安装完成路径: 1.数据库目录 /var/lib/mysql/ 2.配置文件 /usr/share/mysql(mysql.server命令及配置文件) ...

  2. greenplum mysql jdbc_Kylin设置JDBC配置greenplum数据源

    Kylin设置JDBC配置greenplum数据源 kylin最开始的时候支持hive和kafka作为数据源,从2.3.0版本之后开始支持JDBC作为第第三种数据源.用户可以自定义的数据库或者数据仓库 ...

  3. CentOS下MySQL安装后配置和设置

    CentOS下MySQL安装后配置和设置: 1:安装完成路径: 1.数据库目录/var/lib/mysql/2.配置文件/usr/share/mysql(mysql.server命令及配置文件)3.启 ...

  4. mysql 设置连接超时_如何配置MySQL数据库超时设置

    最近备战京东双11,在配置MySQL的超时配置发现有很多地方可以设置.这么多超时的配置有什么影响,以及配置会有什么影响呢?今天的文章就让我来大家来分析一下. 1. JDBC超时设置 connectTi ...

  5. mysql设置显示结果_php 与mysql配置,让页面显示结果

    apache和php配的应该没问题用<?phpphpinfo ();?>测试过没问题mysql安装和配置也应该没问题;extension=php_mysql.dll前的;也除了extens ...

  6. mysql 5.7 驱动_这些 MySQL 调优配置,你都知道吗?

    关注我的头条号,获取更多运维相关知识. 你想了解哪方面的运维知识,请评论区告诉我,我会尽快更新~ MySQL 数据库,基本上运维都会接触到,而对于数据库的性能优化,想必是大家比较关注的,下面分享一些调 ...

  7. mysql主从库配置ps:mysql5.6

    1 Mysql cluster版本主从服务器搭建实践 主从的作用:MySQL的主从服务器可以满足同步数据库,同步表,同步表内容,也可以指定仅同步某个数据库或某个表,还可以排除不同步某个数据库某个表. ...

  8. RHEL5(CentOS)下nginx+php+mysql+tomcat+memchached配置全过程(转)

    RHEL5(CentOS)下nginx+php+mysql+tomcat+memchached配置全过程 一.准备工作:SSH,telnet终端中文显示乱码解决办法vi /etc/sysconfig/ ...

  9. Hadoop集群搭建(七:MySQL的安装配置)

    实验 目的 要求 目的: 1.掌握MySQL在集群平台中的安装 要求: 完成MySQL的集群版的安装: MySQL集群的相关服务进程能够正常启动: MySQL集群的SQL服务能够作为系统服务开机自动启 ...

最新文章

  1. 齐次坐标的理解(2)
  2. make报错:/usr/bin/ld: cannot find -lXXX
  3. linux下i2c设备驱动程序,Linux I2C 设备驱动
  4. Javascript绝句欣赏
  5. layui导入模板数据_实物资产管理软件操作手册(数据接口)
  6. 第三次学JAVA再学不好就吃翔(part55)--StringBuffer类的删除功能
  7. 相册权限_手机相册太乱?1分钟教你快速管理自己的照片,非常好用!
  8. 坏掉的项链(洛谷P1203题题解,C++语言描述)
  9. 使用 ConnectionStringBuilder 对象创建精确连接字符串
  10. 通过自研数据库画像工具支持“去O”数据库评估
  11. js原生设计模式——8单例模式之简约版属性样式方法库
  12. 卷积的物理意义是什么?
  13. windows+Ubuntu双系统引导修复(终极版)
  14. Oracle锁表查询和解锁方法
  15. 1.2软件测试的定义和分类
  16. Liskov Substitution Principle
  17. 二月(不积跬步无以至千里)
  18. “段子手”黄允松的严肃一面:数字化转型是颠覆式创新
  19. 完全背包与01背包的区别
  20. Msgbox信息提示框

热门文章

  1. 手机上怎么打开md格式的文件_怎么压缩pdf文件?文件过大、传阅困难就用这个办法...
  2. 查看服务器是有有默认共享文件,服务器共享文件远程查看
  3. D: Starry的神奇魔法(矩阵快速幂)
  4. Linux常用命令汇总及使用方法(二)之文本编辑器VI
  5. CentOS下搭建使用gitlab 和tortoiseGit使用
  6. [POJ3177]Redundant Paths(双联通)
  7. SharePoint 2010设计(Design)权限能操作的网站操作菜单项
  8. ei拼音的四个声调对应的字_非常容易混淆的汉语拼音“er”,究竟特殊在哪里?孩子总是搞不懂...
  9. python 根据索引取值_Python基础知识2
  10. 调试器工作原理--CPU软件断点/硬件断点/单步执行标识