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),重新进入并查看字符集是否已修复。
原文地址:中文乱码问题几则,感谢原作者分享。