# Old MySQL Versions

[MariaDB 5.1](/docs/release-notes/community-server/old-releases/5.1/changes-improvements-in-mariadb-5-1.md) was the first release of MariaDB. It was based on MySQL 5.1.

In a sense, users can think about MySQL 5.0 and older releases (or even older releases of the MySQL 5.1 tree) as old versions of MariaDB.

This page lists the main features that were added in very old MySQL trees, before MariaDB was created. This is done for historical purpose, and can also be useful for users who still run those versions.

## MySQL 3.22

* Configuration files
* Compressed protocol
* HAVING
* [FLUSH TABLES, LOGS, PRIVILEGES, HOSTS](/docs/server/reference/sql-statements/administrative-sql-statements/flush-commands/flush.md)
* [GRANT](/docs/server/reference/sql-statements/account-management-sql-statements/grant.md) and [REVOKE](/docs/server/reference/sql-statements/account-management-sql-statements/revoke.md)
* [KILL](/docs/server/reference/sql-statements/administrative-sql-statements/kill.md)
* [CREATE INDEX](/docs/server/reference/sql-statements/data-definition/create/create-index.md), [DROP INDEX](/docs/server/reference/sql-statements/data-definition/drop/drop-index.md)
* [HIGH\_PRIORITY and LOW\_PRIORITY](/docs/server/reference/sql-statements/data-manipulation/changing-deleting-data/high_priority-and-low_priority.md), [DELAYED](/docs/server/reference/sql-statements/data-manipulation/inserting-loading-data/insert-delayed.md)

## MySQL 3.23

* [Replication](https://mariadb.com/docs/server/server-usage/storage-engines/myrocks/myrocks-and-replication) (only statement-based, no SSL).
* Temporary tables
* Portable tables through different machines
* [SQL\_MODE](/docs/server/server-management/variables-and-modes/sql_mode.md)
* [User defined functions](/docs/server/server-usage/user-defined-functions.md)
* [Procedure ANALYSE()](/docs/server/reference/sql-functions/secondary-functions/information-functions/procedure-analyse.md)
* New storage engines:
  * HEAP (now called [MEMORY](/docs/server/server-usage/storage-engines/memory-storage-engine.md))
  * [MyISAM](/docs/server/server-usage/storage-engines/myisam-storage-engine.md) (which replaced ISAM)
  * InnoDB
  * [bdb](/docs/server/server-management/starting-and-stopping-mariadb/mariadbd-options.md#skip-bdb) (removed in MySQL 5.1; no version of MariaDB included it)
* [COUNT(DISTINCT)](/docs/server/reference/sql-functions/aggregate-functions/count-distinct.md)
* Table comments
* ...

## MySQL 4.0

* [InnoDB](/docs/server/server-usage/storage-engines/innodb.md) enabled by default.
* Dynamic configuration variables.
* [FULLTEXT](/docs/server/ha-and-performance/optimization-and-tuning/optimization-and-indexes/full-text-indexes/full-text-index-overview.md) for MyISAM.
* [UNION](/docs/server/reference/sql-statements/data-manipulation/selecting-data/set-operations/union.md).
* [TRUNCATE TABLE](/docs/server/reference/sql-statements/table-statements/truncate-table.md).
* Multi-table DELETE and UPDATE.
* [Query cache](/docs/server/ha-and-performance/optimization-and-tuning/buffers-caches-and-threads/query-cache.md).
* Embedded server.

## MySQL 4.1

* [Subqueries](/docs/server/reference/sql-statements/data-manipulation/selecting-data/subqueries.md) (not optimized).
* Faster protocol.
* [Prepared statements](/docs/server/reference/sql-statements/prepared-statements.md).
* [GIS](/docs/server/reference/sql-structure/geometry.md) support for MyISAM
* B-TREE for MEMORY tables.
* Replication over [SSL](/docs/server/security/encryption/data-in-transit-encryption/secure-connections-overview.md).
* UTF-8 character set.
* New storage engines:
  * [ARCHIVE](/docs/server/server-usage/storage-engines/archive.md)
  * [CSV](/docs/server/server-usage/storage-engines/csv.md)
  * [BLACKHOLE](/docs/server/server-usage/storage-engines/blackhole.md)

## MySQL 5.0

* [Views](/docs/server/server-usage/views.md).
* [Stored Procedures](/docs/server/server-usage/stored-routines/stored-procedures.md)
* [Stored Functions](/docs/server/server-usage/stored-routines/stored-functions.md)
* [Triggers](/docs/server/server-usage/triggers-events/triggers.md)
* [XA Transactions](/docs/server/reference/sql-statements/transactions/xa-transactions.md)

## MySQL 5.1 (older releases)

* [Events](/docs/server/server-usage/triggers-events/event-scheduler.md)
* Partitioning.
* Storage engines API.
* Plugins API.
* [Row-based and mixed](/docs/server/server-management/server-monitoring-logs/binary-log/binary-log-formats.md) replication.

<sub>*This page is licensed: CC BY-SA / Gnu FDL*</sub>

{% @marketo/form formid="4316" formId="4316" %}


---

# 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://mariadb.com/docs/release-notes/community-server/old-releases/old-mysql-versions.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.
