MySQL
连接数据库
你可以通过 MySQL 连接到 GreptimeDB,端口为 4002
。
mysql -h <host> -P 4002 -u <username> -p
管理表
请参考表管理。
写入数据
请参考写入数据.
查询数据
请参考查询数据.
时区
GreptimeDB 的 MySQL 协议接口遵循原始 MySQL 服务器的 时区处理方式。
默认情况下,MySQL 使用服务器的时区来处理时间戳。要覆盖这一行为,可以使用 SQL 语句 SET time_zone = '<value>';
来为当前会话设置 time_zone
变量。time_zone
的值可以是:
- 服务器的时区:
SYSTEM
。 - UTC 的偏移量,例如
+08:00
。 - 任何时区的命名,例如
Europe/Berlin
。
一些 MySQL 客户端,例如 Grafana 的 MySQL 数据源,允许你为当前会话设置时区。想要知道当前设定的时区,可以通过 SQL 语句 SELECT @@time_zone;
来查询。
你可以使用 SELECT
来查看当前的时区设置。例如:
SELECT @@system_time_zone, @@time_zone;
结果显示系统时区和会话时区都设置为 UTC
:
+--------------------+-------------+
| @@system_time_zone | @@time_zone |
+--------------------+-------------+
| UTC | UTC |
+--------------------+-------------+
将会话时区更改为 +1:00
:
SET time_zone = '+1:00'
你可以看到系统时区和会话时区之间的差异:
SELECT @@system_time_zone, @@time_zone;
+--------------------+-------------+
| @@system_time_zone | @@time_zone |
+--------------------+-------------+
| UTC | +01:00 |
+--------------------+-------------+
有关时区如何影响数据的插入和查询,请参考 写入数据 和 查询数据 中的 SQL 文档。
查询超时
可以通过 SQL 语句 SET max_execution_time = <value>
或 SET MAX_EXECUTION_TIME = <value>
为当前会话设置 max_execution_time
变量,该变量指定只读语句执行的最大时间(以毫秒为单位)。如果查询的执行时间超过指定时间,服务器将终止该查询。
例如,将最大执行时间设置为 10 秒:
SET max_execution_time=10000;