在ubuntu 16.04上无法摆脱sql_mode ONLY_FULL_GROUP_BY
我试图以持久的方式删除sql_mode = ONLY_FULL_GROUP_BY。 发出下面的命令,我可以为这个sessison做
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))
然后我试图通过修改/etc/mysql/my.cnf /etc/mysql/mysql.cnf /etc/mysql/mysql.conf.d/mysqld.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,ONLY_FULL_GROUP_BY模式在那里。 我没有select。
有人可以在这里提供一点点的灯光吗? 谢谢。
我唯一能做的就是编辑/lib/systemd/system/mysql.service:
# MySQL systemd service file [Unit] Description=MySQL Community Server After=network.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql PermissionsStartOnly=true ExecStartPre=/usr/share/mysql/mysql-systemd-start pre # Normally, we'd simply use: # ExecStart=/usr/sbin/mysqld ExecStart=/usr/sbin/mysqld --sql-mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ExecStartPost=/usr/share/mysql/mysql-systemd-start post TimeoutSec=600 Restart=on-failure RuntimeDirectory=mysqld RuntimeDirectoryMode=755
根据你的mysql发行版本,/etc/mysql/my.cnf应该已经有了[mysqld]部分。 我会查看my.cnf *文件,看看sql_mode是否已经在那里。 你使用的是哪个mysql版本?