linux mysql my.cnf报错 skyCc

120326 18:02:05 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120326 18:02:05 [Note] Plugin 'FEDERATED' is disabled.
120326 18:02:05 InnoDB: The InnoDB memory heap is disabled
120326 18:02:05 InnoDB: Mutexes and rw_locks use InnoDB's own implementation
120326 18:02:05 InnoDB: Compressed tables use zlib 1.2.3
120326 18:02:05 InnoDB: Using Linux native AIO
120326 18:02:05 InnoDB: Initializing buffer pool, size = 128.0M
120326 18:02:05 InnoDB: Completed initialization of buffer pool
120326 18:02:05 InnoDB: highest supported file format is Barracuda.
120326 18:02:05  InnoDB: Waiting for the background threads to start
120326 18:02:06 InnoDB: 1.1.8 started; log sequence number 3671689
120326 18:02:06 [ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=gb2312'
120326 18:02:06 [ERROR] Aborting

120326 18:02:06  InnoDB: Starting shutdown...
120326 18:02:07  InnoDB: Shutdown completed; log sequence number 3671689
120326 18:02:07 [Note] /usr/sbin/mysqld: Shutdown complete

mysql插入中文出现乱码解决方法  

2011-10-28 11:09:59|  分类: php+mysql+apache |  标签: |字号 订阅


       在使用MySQL时,插入中文字符,经常会出现乱码,中文全被用?代替。出现这种情况的原因,多是字符集不匹配造成的。

       在MySQL中,如果使用缺省的字符集,在建库、建表时,默认使用的是latin1字符集,为ISO 8859-1西欧字符集。插入中文字符时,与之不匹配,就会出现乱码。

       解决方法如下:

1 . copy 一个文件到 /etc/my.cnf

     cp /usr/share/mysql/my-large.cnf /etc/my.cnf

2.  然后修改/etc/my.cnf 文件

  在[client ] 下面加入:

               default-character-set=utf8

  在[ mysqld ] 下面加:

               default-character-set=utf8   

               init_connect='SET NAMES utf8'

    在[ mysql ] 下面加入: default-character-set=utf8

    然后重启mysql服务器:service mysqld restart  //我的成功就是改了这个

 可能在重启过程中会出现错误:

   Starting MySQL............The server quit without updating PID file (/var/lib/mysql/node1.pid). [失败]

    查一下 /var/lib/mysql/node1.error 错误文件会发现

    [ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=utf8'

    这是mysql插入中文出现乱码解决方法 - 白杨 - 白杨 mysqld 不能识别这种格式的 可以将 [ mysqld ] 下的 default-character-set=utf8' 改成   

    character_set_server=utf8

        然后重启就成功了!

        但是,此时在查询表中数据,仍为乱码,重新插入数据和重建表也不行。这是因为我们虽然将MySQL的字符集设置为gb2312或utf8,但已经建立的数据库和表,仍采用的是默认的字符集,也即仍为当初的西欧字符集。所以,重建一个数据库,然后重建表,再插入数据,o(∩∩)o...哈哈,中文字符可以就能正常显示了。

原文地址:https://www.cnblogs.com/cmzcheng/p/2418365.html