免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1365 | 回复: 1
打印 上一主题 下一主题

Linux平台下修正MySQL中文乱码问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-22 15:38 |只看该作者 |倒序浏览
操作系统环境:RHEL4.6、MySQL 6

现象:在此电脑上安装了Tomcat作为web服务器,部署了一个项目,通过jdbc连接到mysql数据库。但是发现中文输入输出乱码现象。

解决步骤:

1. 找到mysql的配置文件

网上说,mysql的配置文件就是/etc/my.cnf。但是这个文件并不一定存在,由于你可能采取的MySQL安装方式跟网上所说的不一样,就不一定能够找得到/etc/my.cnf。因此,你需要使用find命令查找cnf文件。记得不要去找my.cnf因为它不一定存在,而应该找*.cnf。

# find / -iname '*.cnf' -print
/usr/local/mysql-6.0.4a-alpha-linux-i686-glibc23/mysql-test/std_data/ndb_config_mycnf2.cnf
/usr/local/mysql-6.0.4a-alpha-linux-i686-glibc23/mysql-test/std_data/ndb_config_mycnf1.cnf
/usr/local/mysql-6.0.4a-alpha-linux-i686-glibc23/mysql-test/std_data/bug15328.cnf
/usr/local/mysql-6.0.4a-alpha-linux-i686-glibc23/support-files/my-huge.cnf
/usr/local/mysql-6.0.4a-alpha-linux-i686-glibc23/support-files/my-large.cnf
/usr/local/mysql-6.0.4a-alpha-linux-i686-glibc23/support-files/my-medium.cnf
/usr/local/mysql-6.0.4a-alpha-linux-i686-glibc23/support-files/my-innodb-heavy-4G.cnf
/usr/local/mysql-6.0.4a-alpha-linux-i686-glibc23/support-files/my-small.cnf
/usr/share/ssl/openssl.cnf

找到之后,复制一个出来
# cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf

2. 打开my.cnf修改编码

# vi /etc/my.cnf

在[mysqld]下添加
default-character-set=utf8

在[client]下添加
default-character-set=utf8

3. 重启mysql

根据你安装mysql的方式的不同,采用不用的命令来重启你的mysql。如果你配置过使用mysqld自启动方式,可以执行

# /etc/rc.d/init.d/mysql restart

来重启。

或者你把mysql配置成系统服务的方式,你可以执行

# service mysql restert

但是如果你仅仅按照INSTALL-BINARY来启动mysql的话,如

shell> bin/mysqld_safe --user=mysql &

那么你可能需要找出mysql的进程,然后kill了它们。如

# ps -aux | grep mysql
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.3/FAQ
root 24246 0.0 0.0 4532 1076 pts/7 S 13:36 0:00 /bin/sh bin/mysqld_safe --user=mysql
mysql 24273 0.0 1.0 305872 43712 pts/7 S 13:36 0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/cmmi.pid --skip-external-locking --port=3306 --socket=/tmp/mysql.sock

从显示出来的结果找到进程id,杀掉他们

# kill -9 24246
# kill -9 24273

最后再重启。

论坛徽章:
0
2 [报告]
发表于 2008-12-22 16:10 |只看该作者
楼主自己测试过的吗,我一直都在找啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP