MySQL 手动安装方法与中文解决方案_MySQL
程序员文章站
2022-05-30 13:00:43
...
解决方案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
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
推荐阅读