麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
1268
2023-04-08
MySQL 如何禁用严格模式
MySQL 如何禁用严格模式
在改变数据的查询中对缺失或不正确值的处理由MySQL严格模式管理。这包含CREATE TABLE、UPDATE和INSERT语句。当试图在启用MySQL严格模式(这是默认设置)的情况下处理查询时,无效或丢失的数据可能导致警告或失败。
当关闭严格模式时,相同的查询将修改其缺失或不正确的数据,并导致一个直接的警告。这可能看起来是理想的结果,但在关闭严格模式后,某些活动可能会产生意想不到的效果。例如,如果一个值正在被添加,而它的字符数超过允许的数量,它将被截断以适应。
MySQL的严格模式始终是打开的。它可以通过几种不同的方式被禁用。
通过SQL禁用严格模式
可以使用以下命令来禁用你的MySQL服务器上的严格模式。
mysql -u root -p -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';"
Now, you can verify that the mode is set by running the following −
mysql -u root -p -e "SELECT @@GLOBAL.sql_mode;"
通过my.cnf/my.ini禁用严格模式
sql_mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
把它改成下面这一行。
如果找不到[mysqld]部分,则在其下插入该行(如果没有[mysqld]部分,则创建它)。
Create mysqlId in the following way:sql_mode= ""
为了使修改生效,重新启动MySQL服务。
如果现在不能选择重启,你可以进入数据库服务器,使用下面列出的命令,使修改立即生效。如果不执行上述程序,在下次重启MySQL服务时,修改会丢失。
set global sql_mode='';
无论MySQL管理员为什么必须禁用严格模式,这样做是一个简单的过程。你可以使用这种方法在服务器上禁用MySQL严格模式。
此规则适用于标准版、标准(多语言)版、企业版(MySQL)、企业多语言版(MySQL)、企业版(***)和企业版(MySQL)(***)。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。