centos mysql乱码(centos7)

centos mysql 安装及配置

Mysql具有简单易学、体积小等优点,深受编程开发初学者的喜爱

安装Mysql

Centos 6.6下安装Mysql很简单, yum list mysql-server

当只有一个时候就可以直接 yum install mysql-server进行安装

过程中选择Y继续安装,最后安装成功

设置Mysql的服务

先启动Mysql服务 service mysqld start

连接一下试一下,直接 mysql然后\q关闭连接

设置Mysql开机启动 chkconfig mysqld on

开启3306端口并保存/sbin/iptables-I INPUT-p tcp--dport 3306-j ACCEPT/etc/rc.d/init.d/iptables save

修改密码并设置远程访问

连接mysql数据库设置密码 use mysql; update user set password=password('密码') where user='root'; flush privileges;

设置Mysql远程访问 grant all privileges on*.* to'root'@'%' identified by'123456' with grant option;

解决Mysql乱码问题

找一个配置文件,复制到/etc/目录,命名为my.cnf(有时候没有my.cnf) cp/usr/share/doc/mysql-server-5.1.73/my-medium.cnf/etc/my.cnf

vim my.cnf在[client]和[mysqld]下面都添加上 default-character-set=utf8

最后按Esc输入:wq保存退出

重启mysql服务

最后重新启动服务就可以了 service mysqld restart

MariaDB中文显示乱码

由于CentOS7里软件库已经把mysql删除,使用MariaDB代替,所以我们在项目部署的时候也就直接使用了MariaDB。

使用MariaDB的关键是要把数据库的编码格式改为UTF-8,不然就会出现中文乱码问题。

第一步:

检查自己数据库编,

登录MariaDB后,使用查看编码命令:show variables like"%character%"

最终编码要与上表显示一致,重要的是Client和Server编码要是UTF-8

第二步:

修改MariaDB的编码,

1.打开server.cnf文件:

vi/etc/my.cnf.d/server.cnf

2.在server.cnf中[mysqld]添加如下代码

[mysqld]

init_connect='SET collation_connection= utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

参考文档地址:

3.打开mysql-clients.cnf文件

vi/etc/my.cnf.d/mysql-clients.cnf

4.在mysql-clients.cnf中[mysql]中添加如下代码

[mysql]

default-character-set=utf8

参考文档地址:

第三步:

重启MariaDB即可

systemctl restart mariadb

中文乱码问题几则

以下是几则和中文乱码有关的问题和解决方案,包括:Windows下matplotlib中文乱码、SecureCRT终端中的VI中文乱码、crontab发送邮件中文乱码、MySQL中文乱码问题等。 1.解决Windows下matplotlib中文乱码问题(updated@ 2013-05-31)详见之前发的《解决matplot

以下是几则和中文乱码有关的问题和解决方案,包括:Windows下matplotlib中文乱码、SecureCRT终端中的VI中文乱码、crontab发送邮件中文乱码、MySQL中文乱码问题等。

1.解决Windows下matplotlib中文乱码问题

(updated@ 2013-05-31)

详见之前发的《解决matplotlib中文乱码问题(Windows)》一帖。

2.解决SecureCRT终端中的VI中文乱码问题

(updated@ 2013-12-11)

首先,设置SecureCRT的字符集为UTF-8,具体为:Session Options:Appearance:Character为UTF-8。

然后,在~/.bash_profile文件末尾添加:

export LANG="zh_CN.UTF-8"

export LC_ALL="zh_CN.UTF-8"

在~/.vimrc中添加:

"中文乱码问题

set termencoding=utf-8

set fileencodings=utf-8,gb18030,utf-16,big5

最后,必须打开新的终端进行测试(否则得到的结果并不一定正确)。

在VI的配置中,termencoding是指VI所工作的终端的字符编码方式;而fileencodings是指当前编辑的文件的字符编码方式列表,VI会自动检测这个列表,并将最终检测到的字符编码方式设置给fileencoding。

3.解决crontab邮件中文乱码问题(CentOS)

(updated@ 2013-12-11)

网上看到的文章中方法一般都是添加LANG=zh_CN.UTF-8,但是发现我这样设置后依然不可以。此外,发现原始邮件内容显示正确,但是编码错误(为ANSI_X3.4-1968)。因此,对于这种情况的修改方法是:在crontab _e后,添加一行:

CONTENT_TYPE=text/plain; charset=UTF-8

4.解决MySQL中文乱码问题(Ubuntu)

(updated@ 2014-02-26)

首先,进入MySQL,查看字符集问题所在:

show variables like'%chara%';

如果看到字符集非utf8(除character_set_filesystem外),而是latin1等,则说明需要修改字符集。

编辑/etc/mysql/my.cnf,在[client]和[mysqld]下添加default-character-set= utf8。在[client]下添加default-character-set=utf8,在[mysqld]下添加character-set-server=utf8。

重启MySQL(/etc/init.d/mysql restart),重新进入并查看字符集是否已修复。

原文地址:中文乱码问题几则,感谢原作者分享。

阅读剩余
THE END