首页 > 数据库 >MySQL 通过set global设置变量的注意点

MySQL 通过set global设置变量的注意点

时间:2024-08-21 13:27:00浏览次数:6  
标签:none set log global MySQL output +---------------+-------+ root localhost

今天有人问,为什么他修改动态变量 log_output 的时候,部分可以设置成功,部分设置失败,具体现象如下:

root@localhost (none)>show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | TABLE |
+---------------+-------+
1 row in set (0.01 sec)

root@localhost (none)>set global log_output=file;
Query OK, 0 rows affected (0.00 sec)

root@localhost (none)>show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | FILE  |
+---------------+-------+
1 row in set (0.02 sec)

root@localhost (none)>set global log_output=none;
Query OK, 0 rows affected (0.00 sec)

root@localhost (none)>show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | NONE  |
+---------------+-------+
1 row in set (0.01 sec)

root@localhost (none)>set global log_output=table;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table' at line 1
root@localhost (none)>

 

在配置文件中给MySQL做配置的时候,一般习惯了不加上引号的格式。比如:

[mysqld]
...
log_output=FILE
slow_query_log
slow_query_log_file=slow-queries.log

 

但是在 MySQL 会话中建议加上单引号。对于设置 MySQL 系统变量,尤其是需要字符串值的变量,应该使用单引号括起来,以确保 MySQL 能够正确解释这个值。比如,按照如下方式就可以正确设置了:

root@localhost (none)>show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | NONE  |
+---------------+-------+
1 row in set (0.01 sec)

root@localhost (none)>SET GLOBAL log_output = 'TABLE';
Query OK, 0 rows affected (0.01 sec)

root@localhost (none)>show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | TABLE |
+---------------+-------+
1 row in set (0.02 sec)

root@localhost (none)>SET GLOBAL log_output = 'TABLE,FILE';
Query OK, 0 rows affected (0.00 sec)

root@localhost (none)>show variables like 'log_output';
+---------------+------------+
| Variable_name | Value      |
+---------------+------------+
| log_output    | FILE,TABLE |
+---------------+------------+
1 row in set (0.01 sec)

root@localhost (none)>

  

 

标签:none,set,log,global,MySQL,output,+---------------+-------+,root,localhost
From: https://www.cnblogs.com/abclife/p/18364333

相关文章

  • mysql 语句的执行顺序
    MySQL语句的执行顺序如下:FROM 子句:确定数据来源的表或表达式。ON 子句:应用 JOIN 条件,如果有的话。JOIN 子句:如果有的话,根据 JOIN 类型(如 INNERJOIN, LEFTJOIN 等)连接表。WHERE 子句:过滤记录,只留下满足条件的记录。GROUPBY 子句:根据指定的......
  • MySQL 禁止使用 HASH 索引
    在MySQL中,虽然InnoDB存储引擎默认使用的是BTREE索引,但它也支持一种特殊的自适应哈希索引(adaptivehashindex,AHI),这是InnoDB自动管理和使用的,用户无法直接控制。然而,对于内存存储引擎MEMORY(之前称为HEAP),MySQL确实允许用户显式地创建HASH索引。如果你想要在MEMORY表上使用HASH索......
  • 自定义 MySQL Shell 提示符
    MySQLShell中的提示符的样式和格式可以根据使用者的需求进行定制。我们可以配置提示符以显示有关数据库连接和使用的模式的不同或简化信息。本文将展示如何添加视觉提示,让您知道何时连接到生产数据库。设置步骤既然您正在阅读关于自定义MySQLShell的内容,您应该已经安装了它......
  • MySQL数据库命令行操作
    MySQL数据库命令行操作运行输入cmd有的要以管理员身份进入登录数据库mysql-h主机名-u用户名-p或者mysql-uroot-p-h:该命令用于指定客户端所要登录的MySQL主机名,登录当前机器该参数可以省略;-u:所要登录的用户名;-p:告诉服务器将会使用一个密码来......
  • mysql 二进制日志总结
    常用sql语句查看二进制日志文件位置SHOWVARIABLESLIKE'log_bin_basename';查看二进制日志文件的索引文件位置SHOWVARIABLESLIKE'log_bin_index';查看二进制日志文件的过期天数SHOWVARIABLESLIKE'expire_logs_days';//取值范围0-99默认0关闭列出MySQL......
  • MySQL存储过程示例代码
    CREATEDEFINER=`root`@`%`PROCEDURE`getReportWeavingProductionDay`(instartTimedatetime,inendTimedatetime,infactoryIdsvarchar(100),inmachineIdsvarchar(5000),inPageSizeint,inDataFromIndexint)BEGIN--参数说明--startTime:开始时间,endTime:结束时间,f......
  • MySQL基本操作
    MySQL基本操作学习目标:学习基本的SQL操作,实现数据库的基本管理SQL基本语法SQL库操作SQL表操作SQL数据操作一、SQL语法规则目标:了解SQL的基本语法规则SQL语法规则:SQL是一种结构化编程语言基础SQL指令通常是以行为单位SQL指令需要语句结束符,默认是英文分号:;、\g、\G\G:主......
  • Mysql从指定位置截取字符串
    在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现比通过代码实现要更方便快捷些,mysql有很多字符串函数可以用来处理这些需求,如Mysql字符串截取总结:left()、right()、substring()、substring_index()。一.从左开始截取字符串用法:lef......
  • CodeForces 360D Levko and Sets
    洛谷传送门CF传送门求出\(p\)的原根\(g\),对每个\(a_i\)求出一个\(x_i\)表示\(g^{x_i}\equiva_i\pmod{p}\)(这部分可以BSGS)。之后的表述中\(a_i\)指\(x_i\)。那么集合生成方式相当于初始\(c=0\),每次让\(c\gets(c+a_ib_j)\bmod(p-1)\)。根据裴蜀定......
  • Linux中MySQL安装与升级中的相关知识
    Linux中MySQL安装与升级中的相关知识1.MySQL的RPM安装通常分为不同的包,包括Server、Common、Client、Devel、Libs、Libs-compat、Test、Source,上述每个包的功能。Server:包含MySQL服务器的主要组件。Common:提供通用的功能和文件。Client:提供客户端工具用于连接服务......