MySQL手动安装方法与中文解决方案
来源:站长家园会员投稿 发布时间:2011-04-25 18:21:00
Debian Etch Linux上成功安装了MySQL 5.0.27 icc版本,并使用JDBC测试中文成功!
中文问题的关键是全部使用UTF-8编码,MySQL 5发布版支持UTF-8,但默认为latin1,Java在内部使用的全部是Unicode,因此要保证JSP页面以UTF-8编码,JDBC驱动采用官方Connector4J 5.0.4,在Resin 3.1/Spring 2.0/Hibernate 3.2环境下测试中文正常。
1. 下载"mysql-standard-5.0.27-linux-i686-icc-glibc23.tar.gz",推荐ICC版本,据称比GCC性能提高10-20
2. 复制到/usr/local/,解压:tar zxvf mysql-standard-5.x....tar.gz
3. 添加用户和组mysql:
groupadd mysql
useradd -g mysql mysql
4. 创建符号连接:/usr/local # ln -s mysql-standard-5.x... mysql
5. cd mysql,当前目录改为/usr/local/mysql/
6. 运行脚步初始化数据库:./scripts/mysql_install_db --user=mysql
7. 设置权限:
/usr/local/mysql # chown -R root .
/usr/local/mysql # chown -R mysql data
/usr/local/mysql # chgrp -R mysql
8. 根据需要创建并修改/etc/my.cnf,参考配置:
[mysqld]
# 设置默认为INNODB表,支持事务:
default-storage-engine=INNODB
# 设置默认的字符集UTF-8:
acter-set-server=utf8
collation-server=utf8_general_ci
default-acter-set=utf8
# 禁用bdb:
skip-bdb
9. 启动MySQL:
/usr/local/mysql/bin # ./mysqld_safe --user=mysql &
10. 初始化root口令:
/usr/local/mysql/bin # ./mysqladmin -u root -p password "password-of-root"
Enter password: 11. 以root登录创建数据库:
/usr/local/mysql # ./mysql -u root -p
Enter password: password-of-root12. 创建一个新用户:
mysql> user test identified by test-password;
13. 创建一个新数据库:
mysql> database testdb default acter set utf8 default collate utf8_general_ci;
务必指定字符集和排序方式,均为UTF-8,这样才能保证创建的表也使用UTF-8。
14. 赋予test用户从localhost访问testdb的权限,并使用口令:
mysql> grant all
on testdb. to test@localhost identified by test-password;注意:要使用JDBC从远程连接MySQL,就必须正确设置test用户权限,MySQL的访问权限由用户名,客户端机器名和口令共同组成,上例表示仅允许test用户在本机(localhost)通过口令连接MySQL。
15. 停止MySQL服务器:
/usr/local/mysql/bin # ./mysqladmin -u root -p shutdown
Enter password: password-of-root
STOPPING server from pid file /usr/local/mysql/data/debian.pid
xxx mysqld ended中文秘籍:
/etc/my.cnf中所有与编码相关的设置均要设定为UTF-8,参考步骤8。
按以下步骤调试:
mysql> status;
注意acterset相关值,必须保证全部为utf8,否则,修改/etc/my.cnf,参考步骤8。
mysql> show variables like ;
除了acter_set_filesystem显示为binary外,其余应该全部显示为utf8,若非utf8,修改/etc/my.cnf,参考步骤8。
mysql> show variables like collation;
显示应该全部为utf8_general_ci,否则,修改/etc/my.cnf,参考步骤8。
mysqlshow -u root -p -i database-name
作用:显示数据库详细信息,如果你没有看到utf8_general_ci,而是latin_swedish_ci,说明数据库编码非UTF-8,中文肯定不正常,删之,然后参考步骤13以UTF-8重新创建数据库。
猜你喜欢
- 无聊,写了一个图片后加载的东东,感谢asfman帮忙<!DOCTYPE html PUBLIC "-//W3C//DTD X
- Xml_javascript分页实例:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.
- 用QQ聊过天的朋友都对它的自动隐藏窗口功能爱不释手,它可以使窗口显得清爽整洁而且富有动感,笔者的几个朋友都想在自己的网页中加入类似的东东,经
- aspjpeg版本:v1.801 将pic.jpg打上logo.png,可根据图片大小对水印图做适当调整 &
- 像素误差看自己设计好上线的网站,偶尔会发觉像素行间出现了弹性空间,总在不经意间蹦出一定的差距。有些页面很难发现,比如活动类页面,这类页面多呈
- BrowserPlus 到底是什么,又能做什么?BrowserPlus 是 Yahoo! 最近刚发布一个 Web 扩展的平台:终端用户需安装
- 将有安全问题的SQL过程删除,比较全面.一切为了安全!删除了调用shell,注册表,COM组件的破坏权限use master&nb
- 1、从数据库表中检索信息实际上,前面我们已经用到了SELECT语句,它用来从数据库表中检索信息。select语句格式一般为:SELECT 检
- 这是我以前发表在经典论坛的帖子,现在转贴回来。仿淘宝网站的导航效果。此方法有几个优点:根据字数自适应项目长度不同的项目使用不同的颜色来区分无
- 说起模板引擎,很多人会认为这是后台的东西(如PHP的Smarty、Java的Velocity),跟前端没有关系。然而,随着前端的逻辑变得越来
- 一些大型站点都有着非常一流的视觉外观,它们很可能在设计时使用了网格系统。网格可以是页面布局显得紧凑而且稳定,为设计师在设计站点时提供一个逻辑
- HTTP状态码 摘要说明成功2××  
- 昨天在看别人blog的时候发现DW有这么一个东西。叫做代码片断。我们可以将常用的css定义写一个代码片断。保存在DW中,作为公用库。当再次写
- flash_url : "../swfupload/swfupload_f8.swf" upload_url: &quo
- SQL语句优化的原则:◆1、使用索引来更快地遍历表缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存
- 大家都知道,数据库的安全性是很重要的,它直接影响到数据库的广泛应用。用户可以采用任意一种方法来保护数据库应用程序,也可以将几种方法结合起来使
- 一、何谓ASP缓存/为什么要缓存当你的web站点采用asp技术建立的初期,可能感觉到的是asp * 页技术带来的便利性,以及随意修改性、自如
- Oracle SQL语句中的Update可以和SEQUENCE联合使用,以达到更新某字段的值连续编号,而不需要使用游标去逐条遍历更新数据库记
- 现在的互联网上已经有很多能帮助设计师们的各种在线生成器,比如:图标(icon)生成器、背景生成器、按钮生成器和标志生成器等。Balkhis曾
- 关于这个话题,我也看到网上有其他方法来解决。 不过从性能和代码量上来看,我有更好的办法。 在这里和大家 分享。 原理其实很简单, 知识1、长