---
title: "MariaDB Named Commands"
publish_date: 2019-07-10
updated_date: 2021-08-31
author: "Rasmus Johansson"
channel:
  - name: "Product"
    url: "/resources/blog/channel/product.md"
tags:
  - name: "MariaDB"
    url: "/resources/blog/tag/mariadb.md"
  - name: "MariaDB Releases"
    url: "/resources/blog/tag/mariadb-releases.md"
  - name: "MariaDB Server"
    url: "/resources/blog/tag/mariadb-server.md"
  - name: "MySQL"
    url: "/resources/blog/tag/mysql.md"
  - name: "Open Source"
    url: "/resources/blog/tag/open-source.md"
---

# MariaDB Named Commands

This year it will be 10 years since the first version of MariaDB Server was published. The first release was version 5.1.38, which happened in the fall of 2009. Since then, MariaDB Server has added new capabilities at a fast pace and is now seen as a [distinct database](https://modern-sql.com/blog/2018-08/whats-new-in-mariadb-10.3) in its own right.

With an increasing amount of differences with MySQL, we wanted to also start to prepare for MariaDB having its own commands. By taking this path it will in the future be possible to run MariaDB and MySQL, side-by-side without conflicts. Scripts and tools would use the commands with the name of the database server that is targeted and would know what features and functionality is available.

With the [GA release of MariaDB Server 10.4](https://staging-mdb.com/resources/blog/now-ga-mariadb-community-server-10-4/), MariaDB named commands have been added. When you install or update to MariaDB Server 10.4.6 or later, you can start the MariaDB client by typing mariadb, instead of mysql:

```
rasmus@centos-7 ~$ mariadb -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 22
Server version: 10.4.6-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

```

To get an idea of the MariaDB named commands that can be used now, here is the complete list for which we created MariaDB versions of the commands:

1. 1. mariadb → mysql
    2. mariadb-access → mysqlaccess
    3. mariadb-admin → mysqladmin
    4. mariadb-binlog → mysqlbinlog
    5. mariadb-check → mysqlcheck
    6. mariadb-convert-table-format → mysql\_convert\_table\_format
    7. mariadbd-multi → mysqld\_multi
    8. mariadbd-safe → mysqld\_safe
    9. mariadbd-safe-helper → mysqld\_safe\_helper
    10. mariadb-dump → mysqldump
    11. mariadb-dumpslow → mysqldumpslow
    12. mariadb-embedded → mysql\_embedded
    13. mariadb-find-rows → mysql\_find\_rows
    14. mariadb-fix-extensions → mysql\_fix\_extensions
    15. mariadb-hotcopy → mysqlhotcopy
    16. mariadb-import → mysqlimport
    17. mariadb-install-db → mysql\_install\_db
    18. mariadb-plugin → mysql\_plugin
    19. mariadb-secure-installation → mysql\_secure\_installation
    20. mariadb-setpermission → mysql\_setpermission
    21. mariadb-show → mysqlshow
    22. mariadb-slap → mysqlslap
    23. mariadb-tzinfo-to-sql → mysql\_tzinfo\_to\_sql
    24. mariadb-upgrade → mysql\_upgrade
    25. mariadb-waitpid → mysql\_waitpid

As seen in the list of commands they all start with *mariadb-*, with the exception of the client *mariadb* itself and the three daemon/service ones, which have a trailing d to indicate that. A nice benefit of the common naming scheme is that you can write mariadb- and press tab to get a list of all matching commands:

```
rasmus@centos7 ~$ mariadb-
mariadb-access             mariadb-find-rows          mariadb-setpermission
mariadb-admin              mariadb-fix-extensions     mariadb-show
mariadb-binlog             mariadb-hotcopy            mariadb-slap
mariadb-check              mariadb-import             mariadb-tzinfo-to-sql
mariadb-convert-table-format  mariadb-install-db  mariadb-upgrade
mariadb-dump               mariadb-plugin             mariadb-waitpid
mariadb-dumpslow           mariadb-secure-installation
mariadb-embedded           mariadb-service-convert

```

The technical implementation of the commands is done with symlinks currently, but this is only the first step. In the future the plan is that the executables and symlinks change roles. The executable will get the MariaDB name and the corresponding MySQL command will be available as a symlink.

In case you have automated a lot in your environment by calling mysql named commands, that will still work. The *mysql* named commands works as before.

**Download MariaDB Server 10.4 today**

[Download](https://staging-mdb.com/downloads/)