GVKun编程网logo

CentOS7下让MySQL支持中文

14

本文将为您提供关于CentOS7下让MySQL支持中文的详细介绍,同时,我们还将为您提供关于CentOS6或CentOS7下通过yum安装mysql、CentOS7支持中文显示、Centos7配置支持

本文将为您提供关于CentOS7下让MySQL支持中文的详细介绍,同时,我们还将为您提供关于CentOS6或CentOS7下通过yum安装mysql、CentOS7 支持中文显示、Centos7 配置支持中文语言、centos7下mysql 开启远程登录的实用信息。

本文目录一览:

CentOS7下让MySQL支持中文

CentOS7下让MySQL支持中文

MysqL 4.1及更高版本中,字符集的支持(Character Set Support)有两个方面:字符集(Character set)排序方式(Collation)。对于字符集的支持细化到四个层次:服务器(server),数据库(database),数据表(table)和连接(connection)

一、登录MysqL,使用SHOW VARIABLES LIKE 'character%';查看当前使用的字符集,显示如下:


CentOS7下让MySQL支持中文

character_set_databasecharacter_set_server的默认字符集是latin1

二、最简单的完美修改方法,修改MysqLmy.cnf文件中的字符集键值(注意配置的字段细节):

1、在[client]字段里加入default-character-set=utf8,如下:

[client]

port = 3306

socket = /var/lib/MysqL/MysqL.sock

default-character-set=utf8


2、在[MysqLd]字段里加入下面红色三句,如下:

[MysqLd]

default-storage-engine=INNODB

character-set-server=utf8

collation-server=utf8_general_ci


3、在[MysqL]字段里加入default-character-set=utf8,如下:

[MysqL]

no-auto-rehash

default-character-set=utf8


修改完成后,service MysqL restart重启MysqL服务就生效。注意:在较新版的mysq中,[MysqLd]字段与[MysqL]字段是有区别的


使用SHOW VARIABLES LIKE 'character%';查看,发现数据库编码全已改成utf8


CentOS7下让MySQL支持中文

4、如果上面的都修改了还乱码,那剩下问题就一定在connection连接层上。解决方法是在发送查询前执行一下下面这句(直接写在sql文件的最前面):

SET NAMES 'utf8';

5、使用showcreate database数据库名;查看指定数据库的编码方式,如下:


CentOS7下让MySQL支持中文

修改指定数据库的编码:

MysqL>user mydb;

MysqL>alter database mydb character set utf8;

使用show create table表名;查看表的编码格式。如下:


CentOS7下让MySQL支持中文

设置默认编码为utf8

set names utf8;

设置数据库db_name默认为utf8:

ALTER DATABASE `db_name` DEFAULT CHaraCTER SET utf8 COLLATE utf8_general_ci;

设置表tb_name默认编码为ALTER TABLE `tb_name` DEFAULT CHaraCTER SET utf8 COLLATE utf8_general_ci;

CentOS6或CentOS7下通过yum安装mysql

CentOS6或CentOS7下通过yum安装mysql

CentOS6或CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源

下载myql的repo源
 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

(如果是CentOS6则是:wget http://repo.mysql.com/mysql-community-release-el6-7.noarch.rpm)

安装mysql-community-release-el7-5.noarch.rpm包
 rpm -ivh mysql-community-release-el7-5.noarch.rpm

(如果是CentOS6则是:rpm -ivh mysql-community-release-el6-7.noarch.rpm)

安装mysql
 yum -y install mysql-server
 根据步骤安装即可,但是安装完成后,root用户默认没有密码,需要重置密码。

安装完成后,检查mysql是否默认已经启动
 service mysql status(如果是CentOS6则是:service mysqld status)
  Redirecting to /bin/systemctl status  mysql.service
  mysqld.service - MySQL Community Server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled)
     Active: inactive (dead)
  根据上诉信息,说明默认mysql未启动

启动mysql服务
 service mysql start(如果是CentOS6则是:service mysqld start)
  Redirecting to /bin/systemctl start  mysql.service

再次检查mysql服务是否启动成功
 service mysql status(如果是CentOS6则是:service mysqld status)
  Redirecting to /bin/systemctl status  mysql.service
  mysqld.service - MySQL Community Server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled)
     Active: active (running) since Thu 2016-03-31 16:27:15 HKT; 6s ago
    Process: 20000 ExecStartPost=/usr/bin/mysql-systemd-start post (code=exited, status=0/SUCCESS)
    Process: 19933 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 19999 (mysqld_safe)
     CGroup: /system.slice/mysqld.service
             ├─19999 /bin/sh /usr/bin/mysqld_safe
             └─20152 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql -...

  Mar 31 16:27:14 localhost.localdomain mysql-systemd-start[19933]: Support MyS...
  Mar 31 16:27:14 localhost.localdomain mysql-systemd-start[19933]: Note: new d...
  Mar 31 16:27:14 localhost.localdomain mysql-systemd-start[19933]: Please make...
  Mar 31 16:27:14 localhost.localdomain mysql-systemd-start[19933]: WARNING: De...
  Mar 31 16:27:14 localhost.localdomain mysql-systemd-start[19933]: This file w...
  Mar 31 16:27:14 localhost.localdomain mysql-systemd-start[19933]: If you do n...
  Mar 31 16:27:14 localhost.localdomain mysql-systemd-start[19933]: --defaults-...
  Mar 31 16:27:14 localhost.localdomain mysqld_safe[19999]: 160331 16:27:14 mys...
  Mar 31 16:27:14 localhost.localdomain mysqld_safe[19999]: 160331 16:27:14 mys...
  Mar 31 16:27:15 localhost.localdomain systemd[1]: Started MySQL Community Ser...
  Hint: Some lines were ellipsized, use -l to show in full.
  根据上诉信息,说明默认mysql已经启动成功

登录mysql
 因为mysql安装完成后,root用户默认没有密码,在终端输入:mysql -uroot 或 mysql,即可登录到mysql

重置root用户密码
 mysql> update mysql.user set password=PASSWORD(''ytkj'') where user=''root'';
 Query OK, 4 rows affected (0.00 sec)
 Rows matched: 4  Changed: 4  Warnings: 0

这里要注意,mysql5.7开始,这样修改密码不行了,需要这么做:

update mysql.user set authentication_string=PASSWORD(''ytkj'') where user=''root'';

alter user root@''localhost'' identified by ''ytkj'';

flush privileges;


 我们退出mysql,从终端以:mysql -uroot -pytkj登录,发现登录失败
 所以我们需要重启mysql服务,让之前的修改生效
 service mysql restart(如果是CentOS6则是:service mysqld restart)
  Redirecting to /bin/systemctl restart  mysql.service
 
还是以旧密码(也就是默认的没有密码)登录mysql
 mysql -uroot 或 mysql
  ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: NO)

下面我们用新密码登录mysql
 mysql -uroot -pytkj
 发现登录成功。

我们如果需要让其他pc机可以通过客户端连接自己安装的数据库,需要执行如下命令:

grant all privileges on *.* to root@''%'' identified by "ytkj";

flush privileges;

至此,CentOS7上安装mysql完毕。

我们查看MySQL的编码格式:

show variables like ''character%'';

我们发现如果这样就结束,会导致数据库编码格式为latin1,会导致中文乱码,所以我们修改mysql.cnf,来指定编码格式为utf8。

[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

修改完毕,重启mysql服务即可。

 

 

 

 

 

 


 

CentOS7 支持中文显示

CentOS7 支持中文显示

1. 查看系统是否安装有中文语言包

locale -a | grep "zh_CN"     命令含义:列出所有可用的公共语言环境的名称,包含有 "zh_CN"

若出现图中所示几项,那么说明系统中已经安装了语言包,不需要在安装。含义是:{语言代号_国家代号}.{字符集}

zh:是中文的代号。

CN:是中国的代号。

gb18030、gb2312、utf8、gbk:字符集

2. 如果没有安装中文语言包,那么安装一下中文语言包

yum groupinstall "fonts"  (或者 yum install kde-l10n-Chinese)

3. 查看当前语言

locale

 

  可以看到我的系统当前显示的语言中并没有中文。

4. 更改 i18n 国际化和 locale.conf 本土化配置文件(CentOS7 以下)

在 /etc/locale.conf 文件中最开始的地方增加一行 LANG=zh_CN.gbk,结果如下图所示:

然后更改 i18n 文件的内容,它在 /etc/sysconfig/ 目录下,如果没有这个文件,那么使用 touch i18n 创建它。

在文件开始的地方添加如下两行:

LANG=zh_CN.gbk

LC_ALL=zh_CN.gbk

效果如下:

 

CentOS7 修改 vi /etc/locale.conf。

5. 重启服务器,使刚才的配置生效

使用命令 reroot

 

 

 

 

Centos7 配置支持中文语言

Centos7 配置支持中文语言

1.查看本地已安装的语言包

locale -a

找到zh_CN,如果没有,需要安装中文语言包

# 安装中文包
yum install -y kde-l10n-Chinese
# 重新安装glibc-common
yum -y reinstall glibc-common
# 编译生成语言库
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

修改步骤:

1)直接输入 locale 可查看当前linux系统字符集配置;

观察是否都为"zh_CN.UTF-8"(LC_ALL可以是空的),如若不是,就需要往下走配置了

2)修改 /etc/locale.conf文件;

这个文件的内容不需要多,如果你没有特殊需求(不同功能要求不同字符集编码),仅仅放一行,

LANG="zh_CN.UTF-8"

然后就可以了,其他文件都不需要动,越动越乱。

3)让locale.conf生效;

使用

source /etc/locale.conf

然后使用 locale 命令查看是否字符集配置修改好。

centos7下mysql 开启远程登录

centos7下mysql 开启远程登录

安装mysql

安装mysql就不做过多的介绍了,相信小伙伴们都可以很轻松的安装

 

进入mysql命令行

mysql -u用户名 -p密码

  

新建远程登录的用户

grant all on *.* to admin@''%'' identified by ''123456'' with grant option; 
flush privileges;

  

防火墙设置

查看 firewalld 状态
systemctl status firewalld  
打开 firewalld 

systemctl start firewalld  

  

开启 3306的端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

  

重新加载firewalld
firewall-cmd --reload

  

然后数据库连接成功



 

我们今天的关于CentOS7下让MySQL支持中文的分享已经告一段落,感谢您的关注,如果您想了解更多关于CentOS6或CentOS7下通过yum安装mysql、CentOS7 支持中文显示、Centos7 配置支持中文语言、centos7下mysql 开启远程登录的相关信息,请在本站查询。

本文标签: