热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » MySQL/MSSQL编程 » MySQL手动安装方法与中文解决方案

MySQL手动安装方法与中文解决方案

论坛链接
  • MySQL手动安装方法与中文解决方案
  • 发布时间:2008-06-04 14:37:13    浏览数:5067    发布者:superadmin    设置字体【   
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:

  character-set-server=utf8
collation-server=utf8_general_ci
default-character-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: <输入旧口令,直接按Enter>

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

  /usr/local/mysql # ./mysql -u root -p

  Enter password: password-of-root

12. 创建一个新用户:

  mysql> create user test identified by 'test-password';

13. 创建一个新数据库:

  mysql> create database testdb default character 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;

注意characterset相关值,必须保证全部为utf8,否则,修改/etc/my.cnf,参考步骤8。

mysql> show variables like '%char%';

除了character_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重新创建数据库。
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理