我在SuSe9 linux下面安装了MySQL-server-community-5.0.67-0.sles9.i586.rpm MySQL-client-community-5.0.67-0.sles9.i586.rpm,然后/etc/init.d/./mysql start能正常启动,因为mysql默认字符集是latin,所以从数据库中取出的汉字在java中显示为了乱码,于是我cp /usr/share/mysql/my-medium.cnf /etc/my.cnf   测试下/etc/init.d/./mysql restart,成功。。我copy过来的主要目的是设置字符集,在my.cnf文件中的[client]和[mysqld]下面加入了default-character- set = utf8 ,再次测试,出错咯:Starting MySQL.Manager of pid-file quit without updating file.       failed真奇怪,在my.cnf下面加入default-character-set = utf8就出错,不加就没事各位同仁们指点指点!!! 

解决方案 »

  1.   

    这个版本不支持default-character-set选项,使用 character-set-server = utf8
    就可以...但是你的数据文件还latin1的,必须进行转换才可以
      

  2.   

    jinguanding 你说的“character-set-server = utf8” 是在mysql命令行中设置还是在my.cnf中添加这行???
      

  3.   

    jinguanding 你的做法character-set-server = utf8是可以的, character-set-client = utf8(设置它后进入mysql报错) 不行啊,今天我左琢磨,右查查,发现我的问题关键所在了。需要执行下cat /usr/share/mysql/mysql_fix_privilege_tables.sql | /usr/bin/mysql --no-defaults --force --user=root --host=localhost --database=mysql -p 这个命令(将mysql_fix_privilege_tables.sql文件指向mysql启动console,应该是这个作用吧),然后再在my.cnf加入default-character-set = utf8就没问题了,呵呵 还是要谢谢你啊!