Linux下修改Mysql默认编码

连Windows都还没玩明白,突然要在Linux下修改mysql的默认编码方式,忒发愁。。。
用到最多的:mysql基本命令,Linux下VI命令(从没听说过,幸好黑哥提醒,不然我还不知道它是编辑器呢,可能还在纠结怎么在my.cnf下添加这条命令啊。。。)
我用SecureCRT远程连接的Linux
1:[root@localhost ~]# service mysql start -------------------启动mysql
2:[root@localhost ~]# find /etc/my.cnf ----------得到一个结果
3:如果2的结果是存在这个文件,转到5,否则转到4
4:若不存在这个文件,[root@localhost ~]# find / -iname *.cnf -print(一定要找文件名是 *.cnf的,因为根本就木有my.cnf,所以只能找
出别的来复制成my.cnf,还有,一定要复制到etc下,不然重启以后又恢复成以前的编码方式了)
------------------------得到如下结果
/usr/share/doc/MySQL-server-5.5.12/my-large.cnf
/usr/share/doc/MySQL-server-5.5.12/my-small.cnf
/usr/share/doc/MySQL-server-5.5.12/my-medium.cnf
/usr/share/doc/MySQL-server-5.5.12/my-huge.cnf(没用的不贴了)
5:从上面的任何一个文件中选一个,复制到etc下,并改名为my.cnf
[root@localhost ~]# pc /ust/share/doc/MySQL-server-5.5.12/my-huge.cnf /etc/my.cnf
6:开始修改my.cnf
vi /etc/my,cnf -------------显示my.cnf内容
这里让我最头疼,因为从来都没有接触过Linux,无论我怎么努力,就是添加不了任何数据,黑哥说,让我学一下VI,我才知道它
编辑器,敲i就可以输入字符(vi我也不细讲,去网上看教程)并且现在的状态是字符状态,输入完毕以后点击ESC从字符状态转为
命令状态,然后连按两次ZZ(大写),就保存了my.cnf的修改。输入字符如下:
在 [client ] 下面加入 default-character-set=utf8
在[ mysqld ] 下面加 character_set_server=utf8 init_connect='SET NAMES utf8'(或者是SET NAMES 'utf8')
在[ mysql ] 下面加入 default-character-set=utf8
注:在[mysqld]下面添加的网上都说添加 default-character-set=utf8,我测试的时候不可以,因为mysqld不识别它,所以我改成
character_set_server=utf8
7:重启mysql
service mysql restart
如果这里出现mysql is not running but lock exists,解决办法是rm /var/lock/subsys/mysql
8;最后,你可以看看mysql的编码方式是否修改成功
show variables like "character%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
Tags: 

延伸阅读

最新评论

发表评论