MySQL手动安装和中文的具体操作方案
以下的文章主要介绍的是MySQL手动安装的实际操作方法和中文的具体解决方案,我们所演示的环境是在Debian Etch Linux上对MySQL(和PHP搭配之最佳组合) 5.0.27 icc版本进行安装,并使用JDBC测试中文成功! 中文问题的关键是全部使用UTF-8编码,MySQL(和PHP搭配
以下的文章主要介绍的是MySQL手动安装的实际操作方法和中文的具体解决方案,我们所演示的环境是在Debian Etch Linux上对MySQL(和PHP搭配之最佳组合) 5.0.27 icc版本进行安装,并使用JDBC测试中文成功!
中文问题的关键是全部使用UTF-8编码,MySQL(和PHP搭配之最佳组合) 5发布版支持UTF-8,但默认为latin1,Java在内部使用的全部是Unicode,因此要保证jsp(SUN企业级应用的首选)页面以UTF-8编码,JDBC驱动采用官方Connector4J 5.0.4,在resin(一个免费的JSP运行平台) 3.1/Spring 2.0/Hibernate 3.2环境下测试中文正常。
1. MySQL手动安装方法与中文解决方案之一。下载"MySQL(和PHP搭配之最佳组合)-standard-5.0.27-linux-i686-icc-glibc23.tar.gz",推荐ICC版本,据称比GCC性能提高10-20%
2. 复制到/usr/local/,解压:tar zxvf MySQL(和PHP搭配之最佳组合)-standard-5.x....tar.gz
3. 添加用户和组MySQL(和PHP搭配之最佳组合):
groupadd MySQL(和PHP搭配之最佳组合)
useradd -g MySQL(和PHP搭配之最佳组合) MySQL(和PHP搭配之最佳组合)
4. 创建符号连接:/usr/local ln -s MySQL(和PHP搭配之最佳组合)-standard-5.x... MySQL(和PHP搭配之最佳组合)
5. cd MySQL(和PHP搭配之最佳组合),当前目录改为/usr/local/MySQL(和PHP搭配之最佳组合)/
6. 运行脚步初始化数据库:./scripts/MySQL(和PHP搭配之最佳组合)_install_db --user=MySQL(和PHP搭配之最佳组合)
7. 设置权限:
/usr/local/MySQL(和PHP搭配之最佳组合) chown -R root .
/usr/local/MySQL(和PHP搭配之最佳组合) chown -R MySQL(和PHP搭配之最佳组合) data
/usr/local/MySQL(和PHP搭配之最佳组合) chgrp -R MySQL(和PHP搭配之最佳组合)
8.MySQL手动安装方法与中文解决方案: 根据需要创建并修改/etc/my.cnf,参考配置:
[MySQL(和PHP搭配之最佳组合)d]
设置默认为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(和PHP搭配之最佳组合):
/usr/local/MySQL(和PHP搭配之最佳组合)/bin ./MySQL(和PHP搭配之最佳组合)d_safe --user=MySQL(和PHP搭配之最佳组合) &
10. 初始化root口令:
/usr/local/MySQL(和PHP搭配之最佳组合)/bin ./MySQL(和PHP搭配之最佳组合)admin -u root -p password "password-of-root"
Enter password:
11. 以root登录创建数据库:
/usr/local/MySQL(和PHP搭配之最佳组合) ./MySQL(和PHP搭配之最佳组合) -u root -p
Enter password: password-of-root
12. 创建一个新用户:
- MySQL(和PHP搭配之最佳组合)> create user test identified by 'test-password';
13. 创建一个新数据库:
- MySQL(和PHP搭配之最佳组合)> create database testdb default character set utf8 default collate utf8_general_ci;
百度i贴吧 新浪微博 务必指定字符集和排序方式,均为UTF-8,这样才能保证创建的表也使用UTF-8。
14. 赋予test用户从localhost访问testdb的权限,并使用口令:
- MySQL(和PHP搭配之最佳组合)> grant all on testdb.* to test@localhost identified by 'test-password';
注意:要使用JDBC从远程连接MySQL(和PHP搭配之最佳组合),就必须正确设置test用户权限,MySQL(和PHP搭配之最佳组合)的访问权限由用户名,客户端机器名和口令共同组成,上例表示仅允许test用户在本机(localhost)通过口令连接MySQL(和PHP搭配之最佳组合)。
15. MySQL手动安装方法与中文解决方案:停止MySQL(和PHP搭配之最佳组合)服务器:
- /usr/local/MySQL(和PHP搭配之最佳组合)/bin # ./MySQL(和PHP搭配之最佳组合)admin -u root -p shutdown
- Enter password: password-of-root
- STOPPING server from pid file /usr/local/MySQL(和PHP搭配之最佳组合)/data/debian.pid
- xxx MySQL(和PHP搭配之最佳组合)d ended
中文秘籍:
/etc/my.cnf中所有与编码相关的设置均要设定为UTF-8,参考步骤8。
按以下步骤调试:
- MySQL(和PHP搭配之最佳组合)> status;
注意characterset相关值,必须保证全部为utf8,否则,修改/etc/my.cnf,参考步骤8。
- MySQL(和PHP搭配之最佳组合)> show variables like '%char%';
除了character_set_filesystem显示为binary外,其余应该全部显示为utf8,若非utf8,修改/etc/my.cnf,参考步骤8。
- MySQL(和PHP搭配之最佳组合)> show variables like '%collation%';
显示应该全部为utf8_general_ci,否则,修改/etc/my.cnf,参考步骤8。
- MySQL(和PHP搭配之最佳组合)show -u root -p -i database-name
作用:显示数据库详细信息,如果你没有看到utf8_general_ci,而是latin_swedish_ci,说明数据库编码非UTF-8,中文肯定不正常,删之,然后参考步骤13以UTF-8重新创建数据库。
以上的相关内容就是对MySQL手动安装方法与中文解决方案的介绍,望你能有所收获。