欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

远程Linux服务器修改Mysql数据库编码及解决编码修改后Mysql无法_MySQL

程序员文章站 2024-01-25 20:57:16
...
在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 导入。对于已经存在的数据库,可以直接修改其字符集。