# MySQL Integration Discovered Resources

The Euno MySQL integration discovers and creates the following types of resources in your data catalog:

## Resource Discovery Overview

The MySQL integration follows a hierarchical discovery approach:

1. **MySQL Instance** - The top-level MySQL server
2. **Schemas** - Individual databases within the MySQL instance
3. **Tables & Views** - Data objects within each schema
4. **Columns** - Individual fields within each table and view

## MySQL Instance

**Resource Type**: `mysql_instance`

Represents the top-level MySQL server instance.

### Properties

| Property              | Description                                           | Example          |
| --------------------- | ----------------------------------------------------- | ---------------- |
| `name`                | Instance name (the mysql hostname or custom override) | `mysql-prod-01`  |
| `type`                | Resource type                                         | `mysql_instance` |
| `subtype`             | Resource subtype                                      | `mysql_instance` |
| `database_technology` | Database platform                                     | `mysql`          |

### URI Pattern

```
mysql.<hostname>
```

**Example**: `mysql.mysql-prod-01.amazonaws.com`

## MySQL Schema (Database)

**Resource Type**: `database_schema`

Represents a MySQL database/schema within the instance.

### Properties

| Property              | Description       | Example           |
| --------------------- | ----------------- | ----------------- |
| `name`                | Schema name       | `ecommerce`       |
| `type`                | Resource type     | `database_schema` |
| `subtype`             | Resource subtype  | `database_schema` |
| `database_technology` | Database platform | `mysql`           |

### URI Pattern

```
mysql.<hostname>.<schema_name>
```

**Example**: `mysql.mysql-prod-01.amazonaws.com.ecommerce`

### System Schemas Excluded

The following system schemas are automatically excluded from discovery:

* `mysql` - MySQL system database
* `sys` - MySQL sys schema
* `performance_schema` - Performance monitoring schema
* `information_schema` - Metadata schema

## MySQL Table

**Resource Type**: `table`\
**Subtype**: `base_table`

Represents a MySQL base table.

### Properties

| Property                  | Description                            | Example                      |
| ------------------------- | -------------------------------------- | ---------------------------- |
| `name`                    | Table name                             | `customers`                  |
| `type`                    | Resource type                          | `table`                      |
| `subtype`                 | Resource subtype                       | `base_table`                 |
| `description`             | Table comment (if any)                 | `Customer information table` |
| `database_technology`     | Database platform                      | `mysql`                      |
| `database_schema`         | Schema name                            | `ecommerce`                  |
| `created_at`              | Table creation timestamp               | `2023-01-15 10:30:00`        |
| `row_count`               | Approximate number of rows             | `125000`                     |
| `volume`                  | Storage size in bytes (data + indexes) | `45829120`                   |
| `native_last_data_update` | Last time data was modified            | `2023-12-01 15:45:00`        |

### URI Pattern

```
mysql.<hostname>.<schema_name>.<table_name>
```

**Example**: `mysql.mysql-prod-01.amazonaws.com.ecommerce.customers`

## MySQL View

**Resource Type**: `table`\
**Subtype**: `view`

Represents a MySQL view.

### Properties

| Property              | Description             | Example                              |
| --------------------- | ----------------------- | ------------------------------------ |
| `name`                | View name               | `active_customers`                   |
| `type`                | Resource type           | `table`                              |
| `subtype`             | Resource subtype        | `view`                               |
| `description`         | View comment (if any)   | `View of currently active customers` |
| `database_technology` | Database platform       | `mysql`                              |
| `database_schema`     | Schema name             | `ecommerce`                          |
| `created_at`          | View creation timestamp | `2023-01-15 10:30:00`                |

### URI Pattern

```
mysql.<hostname>.<schema_name>.<view_name>
```

**Example**: `mysql.mysql-prod-01.amazonaws.com.ecommerce.active_customers`

## MySQL Column

**Resource Type**: `column`

Represents a column within a MySQL table or view.

### Properties

| Property               | Description                        | Example                      |
| ---------------------- | ---------------------------------- | ---------------------------- |
| `name`                 | Column name                        | `customer_id`                |
| `type`                 | Resource type                      | `column`                     |
| `subtype`              | Resource subtype                   | `column`                     |
| `description`          | Column comment (if any)            | `Unique customer identifier` |
| `database_technology`  | Database platform                  | `mysql`                      |
| `database_schema`      | Schema name                        | `ecommerce`                  |
| `native_data_type`     | Original MySQL data type with size | `VARCHAR(255)`               |
| `normalized_data_type` | Euno normalized data type          | `string`                     |

### URI Pattern

```
mysql.<hostname>.<schema_name>.<table_name>.<column_name>
```

**Example**: `mysql.mysql-prod-01.amazonaws.com.ecommerce.customers.customer_id`

## Data Type Mapping

The MySQL integration maps MySQL native data types to Euno's normalized data types:

### String Types

| MySQL Type                                   | Normalized Type |
| -------------------------------------------- | --------------- |
| `CHAR`, `VARCHAR`                            | `string`        |
| `TINYTEXT`, `TEXT`, `MEDIUMTEXT`, `LONGTEXT` | `string`        |
| `ENUM`, `SET`                                | `string`        |

### Binary Types

| MySQL Type                                   | Normalized Type |
| -------------------------------------------- | --------------- |
| `BINARY`, `VARBINARY`                        | `binary`        |
| `TINYBLOB`, `BLOB`, `MEDIUMBLOB`, `LONGBLOB` | `binary`        |

### Numeric Types

| MySQL Type                                                     | Normalized Type |
| -------------------------------------------------------------- | --------------- |
| `TINYINT`, `SMALLINT`, `MEDIUMINT`, `INT`, `INTEGER`, `BIGINT` | `number`        |
| `DECIMAL`, `NUMERIC`, `FLOAT`, `DOUBLE`, `REAL`                | `number`        |
| `BIT`, `SERIAL`                                                | `number`        |

### Date/Time Types

| MySQL Type                                      | Normalized Type |
| ----------------------------------------------- | --------------- |
| `DATE`, `TIME`, `DATETIME`, `TIMESTAMP`, `YEAR` | `datetime`      |

### Boolean Types

| MySQL Type        | Normalized Type |
| ----------------- | --------------- |
| `BOOLEAN`, `BOOL` | `boolean`       |

### Complex Types

| MySQL Type                                 | Normalized Type |
| ------------------------------------------ | --------------- |
| `JSON`                                     | `object`        |
| Geometry types (`GEOMETRY`, `POINT`, etc.) | `object`        |

### Unknown Types

Any data type not recognized in the mapping above will be assigned the normalized type `unknown`.

## Relationships

The MySQL integration discovers the following relationships between resources:

### Parent-Child Relationships

The MySQL integration creates a clear hierarchical structure:

* **MySQL Instance → Schemas**: Database schemas are considered children of their parent MySQL instance
* **Schema → Tables & Views**: Tables and views are considered children of their parent schema
* **Table/View → Columns**: Columns are considered children of their parent table or view

### Container Hierarchy

The complete container hierarchy follows this pattern:

```
MySQL Instance
└── Schema (Database)
    ├── Table
    │   ├── Column 1
    │   ├── Column 2
    │   └── Column N
    └── View
        ├── Column 1
        ├── Column 2
        └── Column N
```

### View Lineage

MySQL views has an "upstream/downstream" relationships with other MySQL tables and views based on the SQL definition of the view.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.euno.ai/sources/data-warehouses/mysql-integration/mysql-integration-discovered-resources.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
