解决方案mysql安装
花了1天,在Debian Etch Linux上成功安装了MySQL 5.0.27 icc版本,并使用JDBC测试中文成功!
*PC/s> 2-r+ W1 中文问题的关键是全部使用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环境下测试中文正常。
s _`9Kz 9:pdF6d~ 8hZ D/ 1. 下载"mysql-standard-5.0.27-linux-i686-icc-glibc23.tar.gz",推荐ICC版本,据称比GCC性能提高10-20%
/@7d5(`0g_ P$>b!2vU 2. 复制到/usr/local/,解压:tar zxvf mysql-standard-5.x....tar.gz
$MCnN}3D 8jS;av 3. 添加用户和组mysql:
JC!A; RX= T "r?+ groupadd mysql
> Js]*O-b5 @QbgV+a useradd -g mysql mysql
+,)9^YC *v/B&"'B 4. 创建符号连接:/usr/local # ln -s mysql-standard-5.x... mysql
LQdx1w+Q A LYGx6 5. cd mysql,当前目录改为/usr/local/mysql/
;Uf)HL H*9w Fe2 6. 运行脚步初始化数据库:./scripts/mysql_install_db --user=mysql
j9T;#n}g ~X[r$83IlC 7. 设置权限:
6 6-7 NFS$417Z7 /usr/local/mysql # chown -R root .
W3tI{7Z UIG, AO~x /usr/local/mysql # chown -R mysql data
\cxHVX 1g a2n(X /usr/local/mysql # chgrp -R mysql
JZH9tBS_W aY[jZuX`p 6=(dW> --------------------------------------------------------------------------------
KvW>U 2 i5M_Zp 8. 根据需要创建并修改/etc/my.cnf,参考配置:
AtZ $FA\ jFY; [mysqld]
V`2Pp` 'le!b5iVr # 设置默认为INNODB表,支持事务:
3D30=, bVM)1Is - default-storage-engine=INNODB
7@jm=wm 7G(Aq ! # 设置默认的字符集UTF-8:
W})%D'3&Y %Ke;Hxs:~ character-set-server=utf8
Q^j6R | H>Cf0p>8(, collation-server=utf8_general_ci
]:0iB#~ EI4=J.N A BftmtlF+ default-character-set=utf8
ve{9>] iSipZ[};@] # 禁用bdb:
mk I@ sCFz skip-bdb
D6g/ua5\ >gA- Ghf 9. 启动MySQL:
sY?a>8,)kT =JO~
/usr/local/mysql/bin # ./mysqld_safe --user=mysql & vY"q*
d]D+ bB
10. 初始化root口令: BY3 pfow@
/prHxDOoZ
/usr/local/mysql/bin # ./mysqladmin -u root -p password "password-of-root" xcOX80
"qKSZ
Enter password: ?,s,r P7N
?$51P}|
-------------------------------------------------------------------------------- J*h%o`'{r
11. 以root登录创建数据库: 1P0h\rO
/usr/local/mysql # ./mysql -u root -p ^Ia?b2@
8[7A!tytK7
Enter password: password-of-root odAUsu
zAFZv]Tj
12. 创建一个新用户: [2 qTm5
RAr 33!U
mysql> create user test identified by 'test-password'; _ow{`B:
G?5,0D
13. 创建一个新数据库: \fuk%\aS
Je~0~Z
mysql> create database testdb default character set utf8 default collate utf8_general_ci; 4|x1l
.Z*6c 4Z
务必指定字符集和排序方式,均为UTF-8,这样才能保证创建的表也使用UTF-8。 M0wB
6.Ahaq
I'9u}t
14. 赋予test用户从localhost访问testdb的权限,并使用口令: w:uZ"{J`
-Ep
mysql> grant all on testdb.* to test@localhost identified by 'test-password'; ?A6!#os1
fTL^w -
注意:要使用JDBC从远程连接MySQL,就必须正确设置test用户权限,MySQL的访问权限由用户名,客户端机器名和口令共同组成,上例表示仅允许test用户在本机(localhost)通过口令连接MySQL。 l9,ba[n|
`PF9$
\V