每次重新启动,STRICT_TRANS_TABLES都会被添加到sql_mode。我必须去phpmyadmin,并删除它在变量。我试着用SQL命令改变它,但它似乎不能在服务器重启后存活下来。
这个问题有existing answers,但它们似乎是过时的。我在Debian 11和Apache 2.4.56上使用MariaDB版本10.5.21-MariaDB-0+ deb 11 u1。我也看了MariaDB sql_mode documentation,但没有提到在哪里永久更改sql_mode。
根据我的搜索,我希望它在/etc/mysql/my.cnf中,但似乎MariaDB现在做的事情不同了。my.cnf包含:
[client-server]
# Port or socket location where to connect
# port = 3306
socket = /run/mysqld/mysqld.sock
# Import all .cnf files from configuration directory
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/
所以我检查了上述两个目录中的每个文件,但没有运气。我甚至尝试了grepping,以防我在视觉上错过了它:
sudo grep -rnw '/etc/mysql/conf.d/' -e 'sql_mode'
sudo grep -rnw '/etc/mysql/mariadb.conf.d/' -e 'sql_mode'
我错过了什么?
1条答案
按热度按时间46scxncf1#
STRICT_TRANS_TABLES
是默认sql_mode的一部分。要使其永久化,需要将其添加到配置文件中,如。
/etc/mysql/mariadb.conf.d/general.cnf: