linux下修改mysql的默认编码出现的无效问题

根据网上的描述。修改my.cnf文件内容
1.查找mysql的cnf文件位置
find / -iname *.cnf
2.随便复制一个到/etc/my.cnf   --注意;原先我不是复制到这里的。而是在/etc/mysql/my.cnf  这也是导致修改无效的原因
cp /usr/local/mysql/data-supxxx/my-medium.cnf /etc/mysql/my.cnf
3.修改my.cnf
gedit /etc/mysql/my.cnf
在【client】下添加
default-character-set=utf8
在[mysqld]下添加
default-charcter-set=utf8
4.重启服务ok?

 

但是发现修改并没有起作用。
排错思路:查看mysql的启动文件,看它是怎么读取配置文件的
打开mysql启动文件
gedit /etc/init.d/mysqld
先查看basedir、datadir都没有问题
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
然后再查看它是在哪里读取my.cnf文件的

位置大概在中间部分
可以看到
if test -r "$basedir/my.cnf"
then
  extra_args="-e $basedir/my.cnf"
else
  if test -r "$datadir/my.cnf"
  then
    extra_args="-e $datadir/my.cnf"
  fi
fi
原来它是在/usr/local/mysql和子目录data下读取my.cnf
随后将my.cnf复制到这两目录

修改完后、发现只是修改了服务的编码格式、其他的client、database都没有修改
然后继续找、发现如下
conf=/etc/my.cnf
原来它还会在/etc/下去找查找文件
知道后、将my.cnf也复制一份到/etc目录下
呵呵、搞定。
如果不想这么麻烦、到处复制文件、可以直接修改配置文件的路径指向你的my.cnf文件所在位置也行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值