设为首页收藏本站
查看: 54|回复: 0

[PHP] 远程Linux服务器修改Mysql数据库编码及解决编码修改后Mysql无法_MySQL-mysql教程

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2017-5-12 16:11:00 | 显示全部楼层 |阅读模式
    在Linux服务器上安装Mysql后,其默认的字符编码为latin1,为了使用中文,需要修改其默认字符集,修改过程如下:(1):将/usr/share下的 my-large.cnf拷贝到/etc下(使用命令 cp /user/share/my-large /etc/my.cnf)(2):使用VI编辑器打开刚复制的my.cnf,在[client]、[myslqd]下各添加一句: default-character-set=utf8
    保存并退出,重启mysql服务:service mysql restart
    有些情况下,修改完my.cnf并重启mysql服务时,会遇到启动不成功的情况,提示Starting MySQL.....The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid),此时有两种解决方法:(1);使用命令 lsof -i:3306,如果有进程,则通过kill pid将其进程结束,然后重启mysql(2):如果通过 lsof -i:3306没有查看到进程,则将my.cnf中[mysqld]]下的default-character-set=utf8修改 为character-set-server=utf8,然后重启mmysql服务即可。
    此种方法只对修改字符集以后创建的数据库有效,对于之前创建的数据库: 数据库的字符集采取的顺序是: (1)字段级指定的字符集;create table c (a varchar(20) character set gbk) (2)若字段未指定,则采用创建表时指定的字符集;create table c(a varchar(20)) charset gbk; (3)如果表未指定,则采用创建数据库时指定的字符集;create database d charset gbk; (4)如果数据库未指定,则采用数据库服务器指定的字符集,即数据库配置文件中设置的字符集 根据以上原则,对于已经存在的表,查看字段级、表级的字符集,如果是latin1,则新建数据库,按latin1导出,gbk 导入。对于已经存在的数据库,可以直接修改其字符集。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表