请选择 进入手机版 | 继续访问电脑版
贠老师培训群:150322713    贠老师QQ:767708506

贠老师office培训-excel学习网

 找回密码
 立即注册
点击咨询贠老师
查看: 196|回复: 7

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

[复制链接]

607

主题

604

帖子

1909

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1909
发表于 2016-2-21 21:58:57 | 显示全部楼层 |阅读模式

在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/database/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重新创建数据库。


想要了解更多更全面的web前段知识,css样式,html教程,数据库教程,word教程,excel教程等等,就到excel学习网www.excelxue.com


回复

使用道具 举报

0

主题

766

帖子

772

积分

高级会员

Rank: 4

积分
772
发表于 2016-4-1 13:00:45 | 显示全部楼层
先收藏再学习,谢谢啦!
回复 支持 反对

使用道具 举报

1

主题

965

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2016-4-3 12:43:27 | 显示全部楼层
大神啊!豁然开朗。。。。。。
回复 支持 反对

使用道具 举报

0

主题

700

帖子

102

积分

注册会员

Rank: 2

积分
102
发表于 2016-4-14 21:18:14 | 显示全部楼层
顶顶
回复 支持 反对

使用道具 举报

0

主题

766

帖子

772

积分

高级会员

Rank: 4

积分
772
发表于 2016-12-21 15:30:55 | 显示全部楼层
能再解释的细节一些吗,具体的
回复 支持 反对

使用道具 举报

0

主题

967

帖子

45

积分

注册会员

Rank: 2

积分
45
发表于 2017-1-6 22:12:53 | 显示全部楼层
顶顶
回复 支持 反对

使用道具 举报

0

主题

934

帖子

54

积分

注册会员

Rank: 2

积分
54
发表于 2019-1-6 17:13:11 | 显示全部楼层
顶顶
回复 支持 反对

使用道具 举报

0

主题

651

帖子

67

积分

注册会员

Rank: 2

积分
67
发表于 2019-1-12 16:24:09 | 显示全部楼层
先收藏再学习,谢谢啦!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



陕ICP备15003731号  

贠老师培训 GMT+8, 2019-1-20 02:30 , Processed in 0.297899 second(s), 31 queries .

快速回复 返回顶部 返回列表