修改mysql数据库的字符编码和sql_mode权限

来源:互联网 发布:高晓松和吴彦祖 知乎 编辑:程序博客网 时间:2024/05/25 21:32

使用环境:服务器,Ubuntu,mysql


一、修改mysql数据库的sql_mode权限

1、查看当前数据库的sql_mode权限:
xshell(或navicat)连接远程服务器数据库,然后执行命令:select @@sql_mode;
如下图所示:
这里写图片描述
2、修改当前的数据库sql_mode设置,若直接使用set命令进行设置,则只在当前会话生效,重启后失效,若要使其修改永久生效,则应修改mysql数据库的相应配置文件
修改/etc/mysql/my.cnf文件,在[mysqld]下添加
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
然后保存退出,如下图所示:
这里写图片描述
然后重启mysql服务,执行命令/etc/init.d/mysql restart,然后重新执行命令select @@sql_mode;查看数据库的sql_mode配置

二、修改mysql数据库的字符编码

1、查看当前数据库的字符编码设置,执行命令

show variables like 'character_set_%';

然后在配置文件/etc/mysql/my.cnf中设置相应的字符编码,如下图所示,在[mysqld]下添加character_set_server=utf8,在[client]下添加default-character-set=gbk,如下图所示:
这里写图片描述
然后保存退出,重启mysql服务,再次查看数据库编码设置,如下图所示,修改成功
这里写图片描述
注意:根据项目需要,也可以将default-character-set设为utf-8,即default-character-set=utf-8,这里只是举例说明如何修改字符编码设置而已,不需要完全一样

原创粉丝点击