MySql 几种问题解决心得
MySql中文乱码 搞了一上午,终于好了,记录一下!
情况说明:自己手贱在网上找了个shell 在服务器上执行了一下,本来想把免费安装的mysql5.0注册到windows 系统服务里,结果 我发现原来安装的 这个mysql 已经 注册过了,接下来悲剧发生了,我怎么启动服务都不行了。报:1067 说进程意外终止,在任务管理器中看了一下确实 mysqld进程启动不起来。然后在网上海搜各种方法,结果都无功而返。更可怕的是,这时候,数据库表部分损坏了(至今不知道为什么)。还好我有之前的备份。在这里提醒大家:数据库操作之前一定要记得备份,否则就收拾东西走人吧。
好吧,数据库不能用了,删除之,重新解压一下免安装版本的。然后用那个shell执行一下,发现不能注册到系统服务里。想其它办法,最后还是在原来那个noinstall版本里找到了解决办法:在mysql 目录里放三个文件my.ini、MyFile.class、启动MySql服务.bat(这三个文件在附件中)。相信看到第二个文件大家就能猜到了,要安装 JDK 。注:这个方法不一定适用大部分机器。除了MyFile.class逐个用notepad打开看一下,你就明白怎么会事了。其实MyFile.class你也可以反编译一下,也就明白了。双击“启动MySql服务.bat”把MySql5.0 免安装版注册到windows系统服务里去。
啰嗦了半天,乱码来了。我把备份导入现在的mysql中,发现中文乱码。
查看库的编码方式 命令行登陆MySql
mysql> show variables like '%character%';+--------------------------+---------------------------------------+| Variable_name | Value |+--------------------------+---------------------------------------+| character_set_client | latin1 || character_set_connection | latin1 || character_set_database | latin1 || character_set_filesystem | binary || character_set_results | latin1 || character_set_server | latin1 || character_set_system | utf8 || character_sets_dir | D:\mysql-5.0.22-win32\share\charsets\ |+--------------------------+---------------------------------------+8 rows in set (0.00 sec)
[mysql] default-character-set=gbk[mysqld] character-set-server=gbk