📅  最后修改于: 2020-11-28 13:02:50             🧑  作者: Mango
MySQL连接器用于查询外部MySQL数据库。
MySQL服务器安装。
希望您已经在机器上安装了mysql服务器。要在Presto服务器上启用mysql属性,必须在“ etc / catalog”目录中创建一个文件“ mysql.properties” 。发出以下命令来创建mysql.properties文件。
$ cd etc
$ cd catalog
$ vi mysql.properties
connector.name = mysql
connection-url = jdbc:mysql://localhost:3306
connection-user = root
connection-password = pwd
保存文件并退出终端。在上面的文件中,您必须在连接密码字段中输入您的mysql密码。
打开MySQL服务器并使用以下命令创建数据库。
create database tutorials
现在,您已经在服务器中创建了“ tutorials”数据库。要启用数据库类型,请在查询窗口中使用命令“使用教程”。
让我们在“ tutorials”数据库上创建一个简单的表。
create table author(auth_id int not null, auth_name varchar(50),topic varchar(100))
创建表后,使用以下查询插入三个记录。
insert into author values(1,'Doug Cutting','Hadoop')
insert into author values(2,’James Gosling','java')
insert into author values(3,'Dennis Ritchie’,'C')
要检索所有记录,请键入以下查询。
select * from author
auth_id auth_name topic
1 Doug Cutting Hadoop
2 James Gosling java
3 Dennis Ritchie C
到目前为止,您已经使用MySQL服务器查询了数据。让我们将Mysql存储插件连接到Presto服务器。
键入以下命令以在Presto CLI上连接MySql插件。
./presto --server localhost:8080 --catalog mysql --schema tutorials
您将收到以下答复。
presto:tutorials>
这里的“教程”是指mysql服务器中的模式。
要列出mysql中的所有架构,请在Presto服务器中键入以下查询。
presto:tutorials> show schemas from mysql;
Schema
--------------------
information_schema
performance_schema
sys
tutorials
根据此结果,我们可以将前三个模式总结为预定义,最后一个则由您自己创建。
以下查询列出了教程模式中的所有表。
presto:tutorials> show tables from mysql.tutorials;
Table
--------
author
在此架构中,我们仅创建了一个表。如果创建了多个表,它将列出所有表。
要描述表字段,请键入以下查询。
presto:tutorials> describe mysql.tutorials.author;
Column | Type | Comment
-----------+--------------+---------
auth_id | integer |
auth_name | varchar(50) |
topic | varchar(100) |
presto:tutorials> show columns from mysql.tutorials.author;
Column | Type | Comment
-----------+--------------+---------
auth_id | integer |
auth_name | varchar(50) |
topic | varchar(100) |
要从mysql表中获取所有记录,请发出以下查询。
presto:tutorials> select * from mysql.tutorials.author;
auth_id | auth_name | topic
---------+----------------+--------
1 | Doug Cutting | Hadoop
2 | James Gosling | java
3 | Dennis Ritchie | C
根据此结果,您可以在Presto中检索mysql服务器记录。
Mysql连接器不支持创建表查询,但是您可以使用as命令创建表。
presto:tutorials> create table mysql.tutorials.sample as
select * from mysql.tutorials.author;
CREATE TABLE: 3 rows
您不能直接插入行,因为此连接器有一些限制。它不能支持以下查询-
要查看新创建的表中的记录,请键入以下查询。
presto:tutorials> select * from mysql.tutorials.sample;
auth_id | auth_name | topic
---------+----------------+--------
1 | Doug Cutting | Hadoop
2 | James Gosling | java
3 | Dennis Ritchie | C