linux中修改mysql的默认编码(character_set_server)解决插入乱码问题

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介:

1、登录mysql,查看mysql默认的编码格式

 show variables like 'character%';

如果现实-bash: show: command not found 说明没有登录mysql数据库,需要进行登录
结果如下图所示:

2、修改my.cnf 文件

目录为/etc/my.cnf
如果系统中没有my.cnf文件、则需要创建此文件,具体步骤请看3,如果存在,直接跳过步骤3,直接进入步骤4

3、查找.cnf结尾的文件

命令find / -iname *.cnf -print
结果如图:

将上面搜索结果集中/usr/share/mysql目录下任意的一个文件复制到/etc/目录下
命令:cp /usr/share/mysql/my-large.cnf   /etc/my.cnf

4、编辑my.cnf文件

命令:vi /etc/my,cnf
在[client ]下面加入
default-character-set=utf8
在[ mysqld ] 下面加
character_set_server=utf8
 init_connect=’SET NAMES utf8′(或者是SET NAMES ‘utf8′)
网上说在 [ mysql ] 下面加入
default-character-set=utf8
我测试了下是不可以,因为mysqld不识别它,所以我改成character_set_server=utf8

5、重启mysql

service mysql restart


以上转载内容,原文:http://blog.itblood.com/linux-modify-mysql-encoding.html


下文附上我自己的处理情况供参考

我的问题:只有一项未改成utf8 (character_set_server=latinl)

操作:

    1、命令:vi /etc/my.cnf

    2、配置文件中没有[client ]节点,所以就在[ mysqld ] 下面加character_set_server=utf8

    3、/etc/init.d/mysqld restart (这是我的重启方式)

  4、show variables like ‘character%’; (再查看就已经该过来了,测试发现乱码问题已解决)











本文转自 艺晨光 51CTO博客,原文链接:http://blog.51cto.com/ycgit/1783775,如需转载请自行联系原作者
相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
983 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
Linux
SecureCRT连接Linux时乱码问题
本文详细介绍了在使用SecureCRT连接Linux服务器时出现乱码问题的解决方法,包括设置SecureCRT字符编码、检查和配置Linux服务器字符编码、调整终端设置等。通过这些方法,您可以有效解决SecureCRT连接Linux时的乱码问题,确保正常的终端显示和操作。希望本文能帮助您在实际操作中更好地解决类似问题,提高工作效率。
1353 17
|
SQL 关系型数据库 MySQL
【YashanDB知识库】MySQL的FIND_IN_SET如何在YashanDB改写
本文来自YashanDB官网,探讨了MySQL中使用`FIND_IN_SET`函数在YashanDB中不兼容的问题及解决方法。由于YashanDB的`tinyint`类型无法参与条件运算,而MySQL的Boolean类型是`tinyint`的同义词,导致直接迁移时出现错误。文章通过分析原因,提出改写方案:将`where find_in_set(`替换为`where 0 < find_in_set(`,从而实现兼容性调整,方便用户快速迁移和改写SQL语句。
|
Linux
linux 删除乱码文件名的文件
【8月更文挑战第26天】当遇到文件名显示为乱码,导致无法正常通过键盘输入文件名进行删除操作时,可以利用鼠标的复制功能配合`rm`命令实现删除。对于文件夹的删除,可使用`rm -rf 目录名`。然而,有时这种方式仍无法删除某些特殊乱码文件,这时可以通过获取文件的i节点号(使用`ls -i`或`ll -i`命令查看)并执行`find -inum [节点号] -delete`来进行删除。这种方法特别适用于处理那些因文件名问题而难以删除的情况。
788 2
|
存储 关系型数据库 MySQL
MySQL中利用FIND_IN_SET进行包含查询的技巧
`FIND_IN_SET`提供了一种简便的方法来执行包含查询,尤其是当数据以逗号分隔的字符串形式存储时。虽然这个方法的性能可能不如使用专门的关系表,但在某些场景下,它提供了快速简便的解决方案。开发者应该根据具体的应用场景和性能要求,权衡其使用。
621 0
|
存储 自然语言处理 关系型数据库
|
存储 Shell Linux
Linux(25) 如何解决Linux终端乱码问题
Linux(25) 如何解决Linux终端乱码问题
917 1
|
Linux Windows
Linux文件名称乱码,无法删除
解决文件名称乱码无法选中,删除、复制等问题。
295 0