mysql 5.7.22设置中文编码-解决乱码问题 Linux

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingfeng812/article/details/80491916

异常情况:

由于工作需要以及个人技术方面的兴趣,开始接触了之前没有接触的Linux部署应用程序一块;最近用linux安装mysql的时候,安装过程正常;但是利用mybaits写入mysql表数据的时候,发生乱码了。为此开始排查和解决乱码问题:

连接了Linux服务器的数据库

image.png

成功解决问题之后:

image.png
image.png

image.png

解决方法:

  • 配置默认配置文件

    在mysql 5.7.18版本及以后版本,没有默认配置文件;需要自己创建配置文件并保存在mysql 默认读取的路径下面;

查看mysql 配置文件读取命令:
~
/usr/local/mysql/bin/mysqld --verbose --help | grep -A 1 'Default options'
~

配置文件基本模板:

~~~

[*]这个标记不能去掉,否则mysql无法识别配置文件里面的参数

[mysqld]

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

一般配置选项

basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306

需要自己在linux创建指定文件夹路径,并且赋予文件目录高权限,否则mysql会因为无法读取.sock文件而启动报错,并产生相应的报错提示

socket = /var/run/mysqld/mysqld.sock
character-set-server=utf8

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

没有设置路径以及放开权限导致启动mysql报错提示:

~
2018-05-28T09:56:25.201315Z 0 [ERROR] Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock.
2018-05-28T09:56:25.201318Z 0 [ERROR] Unable to setup unix socket lock file.
2018-05-28T09:56:25.201321Z 0 [ERROR] Aborting
~

image.png

linux创建路径就不写了,用命令行或者是xftp工具创建都可以
socket = /var/run/mysqld/mysqld.sock

设置权限 /run/mysqld/ 就是/var/run/mysqld/mysqld.sock,一个快捷链接
~
chmod 777 /run/mysqld
~

启动mysql

~
bin/mysqld_safe --user=mysql &
~

停止mysql

~
mysqladmin -uroot -p shutdown
~

mysql配置文件中解决中文乱码的两行关键代码:
~~~
character-set-server=utf8

default-character-set=utf8
~~~

记住,在mysql配置文件配置好中文乱码之后,一定要重启mysql服务,命令上面已经给出。

配置文件存放位置:/etc/my.cnf 当然,其它路径也可以。

~
Last login: Mon May 28 16:08:35 2018 from 183.15.179.142
root@iZwz9hx2ppf9lebmxfezz2Z:~# /usr/local/mysql/bin/mysqld --verbose --help | grep -A 1 'Default options'
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
root@iZwz9hx2ppf9lebmxfezz2Z:~# ^C
~

转载请注明出处 https://www.jianshu.com/p/1deac307a923

参考文献:

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4月前
|
NoSQL 关系型数据库 MySQL
在Visual Studio Code中设置MySQL源码调试环境
以上步骤涵盖了在VS Code中设置MySQL源码调试环境的主要过程,是一个相对高级的任务,旨在为希望建立强大开发和调试环境的开发者提供指引。遵循这些步骤,将可以利用VS Code强大的编辑和调试功能来深入理解和改进MySQL数据库的底层实现。
365 0
|
7月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
404 41
|
7月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
522 17
|
7月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
383 24
|
7月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
164 18
|
7月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
477 11
|
8月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
666 25
|
7月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
233 10
|
8月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
384 28
|
8月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
413 17