Linux中解决mysql乱码问题

来源:互联网 发布:舞台灯光编程 编辑:程序博客网 时间:2024/05/20 09:21

解决步骤:

1. 找到mysql的配置文件
如果安装时,忘记为MySQL设置配制文件,所以在系统中找不到 /etc/my.cnf。
解决办法:
首先找到一个事例配制文件(例如:my-medium)
#find / -iname ".cnf" -print
找到后,根据自己的文件路径如:
cp /usr/local/mysql-6.0.4a-alpha-linux-i686-glibc23/support-files/my-medium.cnf /etc/my.cnf
COPY一分就哦了。

(以下在网上摘录 谢谢作者!)
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
最后再重启。

如何解决数据库中中文字符编码问题?
**解决以后生成数据库或表的编码问题
1.在数据库的安装文件中找到my.ini文件,修改default-character-set编码为utf8.
2.重起数据库服务器.
3.在数据库命令行中输入status命令查看新建数据库或表的编码状态
**在命令行中能够看到中文
4.在数据库命令行中输入set names utf8;
**解决残留数据库和表的编码问题
5.在命令行中输入alter database 数据库名 default character set utf8;修改已有数据库的字符编码.
6.进入表所在数据库,在命令行中输入alter table 表名 convert to character set utf8;修改已有表的字符编码.

原创粉丝点击