MySQL字符集设置详解:如何优化中小型网站数据库性能

如何设置mysql字符集

MySQL字符集设置详解:如何优化中小型网站数据库性能

MySQL广泛应用于互联网上的中小型网站。由于其体积小、速度快、整体

由于其成本低廉,尤其是开源,许多中小型网站选择使用它,以降低网站的总体拥有成本。

MySQL作为网站数据库。那么站长们了解MySQL字符集的设置吗?专职优化、领域

中国信息港将为您详细介绍域名注册、网站空间、虚拟主机、服务器托管、vps主机、服务器租赁等。

详细介绍!

1查看字符集支持

显示字符集;

2相坎字符集相关变量

显示变量,如“character_set%”;

3设置默认字符集

MySQL默认使用的字符集是latin1。

要解决乱码问题,最简单的办法就是修改默认字符集。

以MySQL5linux(ubuntuserver)版本为例,将默认字符集更改为utf8:

修改/etc/mysql/myf

在[mysqld]下添加:

默认字符集=utf8

在[mysql]下添加:

默认字符集=utf8

4Linux下的启动、停止和重启

/etc/init.d/mysqlstart/停止/重新启动

中文问题的关键在于全部采用UTF-8编码。 MySQL5发布版本支持UTF-8,但默认情况下

对于latin1,Java内部使用Unicode,所以需要保证JSP页面是UTF-8

编码,JDBC驱动使用官方的Connector4J5.0.4,在Resin3.1/Spring中

2.0/Hibernate3.2环境下中文测试正常。

1.下载“mysql-standard-5.0.27-linux-i686-icc-glibc23.tar.gz”,推荐ICC版本

据说与 GCC 相比,性能提高了 10-20%

2.复制到/usr/local/并解压:tarzxvfmysql-standard-5.x....tar.gz

3.添加mysql用户和组:

组添加mysql

useradd-gmysqlmysql

4.创建符号链接:/usr/local#ln-smysql-standard-5.x...mysql

5.cdmysql,当前目录改为/usr/local/mysql/

6.运行脚本初始化数据库:./scripts/mysql_install_db--user=mysql

7.设置权限:

/usr/local/mysql#chown-Rroot。

/usr/local/mysql#chown-Rmysqldata

/usr/local/mysql#chgrp-Rmysql

8、根据需要创建并修改/etc/myf,参考配置:

[mysqld]

#设置默认为INNODB表,支持事务:

默认存储引擎=INNODB

#设置默认字符集UTF-8:

字符集服务器=utf8

排序规则服务器=utf8_general_ci

默认字符集=utf8

#Disable bdb:(使用--skip-bdb关闭对Berkeley类型数据表的支持)

跳过-bdb

9.启动MySQL:

/usr/local/mysql/bin#./mysqld_safe--user=mysql&

10.初始化root密码:

/usr/local/mysql/bin#./mysqladmin-uroot-ppassword

“root密码”

输入密码:

11. 以 root 身份登录以创建数据库:

/usr/local/mysql#./mysql-uroot-p

输入密码:root密码

12.创建新用户:

mysql>createusertestidentifiedby '测试密码';

13.创建新数据库:

mysql>createddatabasetestdbdefaultcharactersetutf8defaultcollat​​e

utf8_general_ci;

一定要指定字符集和排序方式,都是UTF-8,这样才能保证创建的表也使用

UTF-8。

14.授予测试用户从本地主机访问testdb的权限并使用密码:

mysql>grantallontestdb.*totest@localhostidentifiedby'测试密码';

注意:使用JDBC远程连接MySQL,必须正确设置测试用户权限。

MySQL访问权限由用户名、客户端机器名和密码组成。上面的例子表明只有

测试用户通过本机(localhost)上的密码连接MySQL。

15.停止MySQL服务器:

/usr/local/mysql/bin#./mysqladmin-uroot-pshutdown

输入密码:root密码

从 pidfile/usr/local/mysql/data/debian.pid 停止服务器

xxxmysqldded

中国秘密:

/etc/myf 中所有与编码相关的设置必须设置为 UTF-8,请参阅步骤 8。

请按照以下步骤进行调试:

mysql>状态;

注意字符集相关值必须保证全部为utf8,否则修改/etc/myf,

请参阅步骤 8。

mysql> 显示像“%char%”这样的变量;

除了character_set_filesystem显示为binary外,其余均应显示为utf8。

如果不是utf8,修改/etc/myf,参考步骤8。

mysql> 显示像“%collat​​ion%”这样的变量;

显示的值应该都是utf8_general_ci。否则,修改 /etc/myf 并参考步骤 8。

mysqlshow -u root -p -i 数据库名称

功能:显示数据库详细信息,如果没有看到utf8_general_ci,但是

latin_swedish_ci,说明数据库编码不是UTF-8,而且中文肯定不正常,删除掉,再参考

测试步骤 13 以 UTF-8 重新创建数据库。

视窗

修改默认字符集

(1)最简单的修改方法是修改mysql的my.ini文件中的字符集键值。

如default-character-set = utf8

字符集服务器 = utf8

修改完后,重启mysql服务,service mysql restart

使用 mysql> SHOW VARIABLES LIKE 'character%';查看并查找数据库编码

全部改为utf8

+--------------------------------------+---------------------- ---- ----------+

|变量名|价值|

+--------------------------------------+---------------------- ---- ----------+

|字符集客户端| utf8|

|字符集连接 | utf8|

|字符集数据库 | utf8|

|字符集文件系统 |二进制|

|字符集结果| utf8|

|字符集服务器| utf8|

|字符集系统| utf8|

|字符集目录| D:"mysql-5.0.37"共享"字符集" |

+--------------------------------------+---------------------- ---- ----------+

(2)还有一种修改字符集的方法,就是使用mysql命令

mysql> 设置字符集客户端 = utf8;

mysql> 设置字符集连接= utf8;

mysql> 设置字符集数据库 = utf8;

mysql> 设置字符集结果 = utf8;

mysql> 设置字符集服务器 = utf8;

mysql> 设置 collat​​ion_connection = utf8;

mysql> SET collat​​ion_database = utf8;

mysql> 设置 collat​​ion_server = utf8;

一般来说,即使你将表的默认字符集设置为utf8,并通过UTF-8编码发送查询,你也会发送

目前输入数据库的内容仍然是乱码。问题就出在这个连接层。解决方案

只需在发送查询之前执行以下语句:

设置名称'utf8';

相当于下面三个指令:

设置字符集客户端=utf8;

设置字符集结果=utf8;

设置字符集连接= utf8;

中国信息港提供:虚拟主机、vps主机、网站空间、服务器托管、服务器租用、

主机空间、网络虚拟主机、全能虚拟主机、国内虚拟主机、香港虚拟主机、linux虚拟主机

机、windows虚拟主机、php虚拟主机空间、asp虚拟主机空间、jsp虚拟主机、.net虚拟

主机、java虚拟主机、云虚拟主机、云技术架构、多线虚拟主机、最快虚拟主机、论坛虚拟主机

虚拟主机、动态虚拟主机、静态虚拟主机,中国信息港服务于企业、政府、团体等机构或

作者亲自提供最新最全的虚拟主机信息。虚拟主机技术是互联网服务器使用的一种节省

服务器硬件成本技术,中国信息港是中国顶级虚拟主机服务商,行业10余年

服务体验,7×24小时专业技术支持,云技术架构,全新硬件,强大的控制面板,

灵活的资源划分,完美满足各种应用需求!

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

52阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读