首先先看看你的mysql在哪,通过which命令
which mysql
显示出目录比如我的是下面这个
接下来就可以针对这个目录通过一些命令查看配置文件在哪了,如下
/usr/bin/mysql --verbose --help|grep -A 1 'Default options'
然后在下面会出现一些信息比如我的
这个信息的意思是:
服务器首先读取的是 /etc/my.cnf 文件,如果前一个文件不存在则继续读 /etc/mysql/my.cnf 文件,依此类推,如若还不存在便会去读~/.my.cnf文件。
如果以上文件都不存在,则说明在对mysql编译完成之后你没有对mysql进行配置,需要你自己复制一份mysql提供的默认配置文件到上面提到的目录中,然后改名为my.cnf,修改文件的所有者和所属组并赋予执行权限。
mkdir /usr/local/mysql/etc
cp /usr/local/mysql/support-files/my-default.cnf /usr/local/mysql/etc/my.cnf
chown -R mysql:mysql /usr/local/mysql/etc/
chmod 777 /usr/local/mysql/etc/my.cnf
完成以上操作之后,需要对my.cnf进行基本配置
vim /etc/my.cnf
我们打开配置文件,并将以下行添加到[mysqld]
部分:
-
[mysqld]
-
# ... other stuff will probably be here
-
sql_mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
保存退出后,重启mysql服务
service mysqld restart
进入数据库查看模式是否更改成功
select @@sql_mode;
说明模式配置成功