Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Discover MariaDB Server's clients and utilities. This section guides you through tools for connecting, managing, and interacting with your database, from command-line clients to graphical interfaces.
This list is incomplete - most MySQL tools will work with MariaDB
Clients for taking backups or importing/restoring data
Clients and utilities for working with the Aria storage engine
dbdeployer is a tool for installing multiple versions of MariaDB and/or MySQL in isolation from each other. It is primarily used for easily testing different server versions. It is written in Go, and is a replacement for MySQL Sandbox.
Visit www.dbdeployer.com for details on how to install and use it.
This page is licensed: CC BY-SA / Gnu FDL
SQL Diagnostic Manager (sql-diagnostic-manager-for-mysql) A monitoring tool that gives DBAs real-time insights for optimizing the performance of MariaDB servers.
Key Features:
Agentless monitoring
Fully customizable
Affordable
Webyog’s SQL DM is fully compatible with Amazon Aurora databases, and Webyog is an Amazon launch partner.
Features specifically for RDS and Aurora instances also available. SQL Diagnostic Manager is browser based and is a proud MariaDB Monitor and Advisor.
SQLyog Ultimate (en) A MySQL administration tool for DBAs, developers, and database architects. This tool enables database developers, administrators, and architects to visually compare, optimize, and document schemas.
Key Features:
Automatically synchronize data
Visually compare data
Import external data
SQLyog runs on Windows and is a graphical MariaDB manager and admin tool, combining the features of MySQL Administrator, phpMyAdmin and other MariaDB Front Ends and MariaDB GUI tools.
This page is licensed: CC BY-SA / Gnu FDL
Adminer is a database administration web interface. It is usable via a web browser. It is written in PHP and requires a web server.
Adminer mainly supports MySQL, but it also supports MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB, SimpleDB, Firebird, ClickHouse. Adminer has a rich range of plugins, some of which have been developed by the community.
Adminer is distributed with a dual license: Apache License 2.0 and GPL 2. Adminer does not have a commercial edition, but it accepts donations.
This page is licensed: CC BY-SA / Gnu FDL
mariadb-tzinfo-to-sql
is a utility used to load on systems that have a zoneinfo database to load the time zone tables (, , , and ) into the mysql database.
Prior to , the client was called mysql_tzinfo_to_sql
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
Most Linux, Mac OS X, FreeBSD and Solaris systems will have a zoneinfo database - Windows does not. The database is commonly found in the /usr/share/zoneinfo directory, or, on Solaris, the /usr/share/lib/zoneinfo directory.
mariadb-tzinfo-to-sql
can be called in several ways. The output is usually passed straight to the for direct loading in the mysql database.
If there is a need to reset the timezone to the default, to before using mariadb-tzinfo-to-sql
, one can do that by executing:
The old timezone values will be in effect until the server is .
Most commonly, the whole directory is passed:
Load a single time zone file, timezone_file
, corresponding to the time zone called timezone_name
.
A separate command for each time zone and time zone file the server needs is required.
To account for leap seconds, use:
After populating the time zone tables, you should usually restart the server so that the new time zone data is correctly loaded.
This page is licensed: CC BY-SA / Gnu FDL
mariadb-find-rows
reads files containing SQL statements and extracts statements that match a given regular expression or that contain or statements.
Prior to , the client was called mysql_find_rows
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
The utility was written for use with update log files (as used prior to MySQL 5.0) and as such expects statements to be terminated with semicolon (;) characters. It may be useful with other files that contain SQL statements as long as statements are terminated with semicolons.
Each file_name argument should be the name of file containing SQL statements. If no file names are given, mariadb-find-rows reads the standard input.
mariadb-find-rows supports the following options:
This page is licensed: CC BY-SA / Gnu FDL
perror is a utility that displays descriptions for system or storage engine error codes.
See for a full list of MariaDB error codes, and for a list of Linux and Windows error codes.
If you need to describe a negative error code, use --
before the first error code to end the options.
System error code:
MariaDB/MySQL :
This page is licensed: CC BY-SA / Gnu FDL
The replace utility program changes strings in place in files or on the standard input. Invoke replace in one of the following ways:
"from
" represents a string to look for and "to
" represents its
replacement. There can be one or more pairs of strings.
A from-string can contain these special characters:
Use the --
option to indicate where the string-replacement
list ends and the file names begin. Any file named on the command line is
modified in place, so you may want to make a copy of the original before
converting it. replace
prints a message indicating which of the input
files it actually modifies.
If the --
option is not given, replace reads standard
input and writes to standard output.
replace uses a finite state machine to match longer strings first. It can be used to swap strings. For example, the following command swaps "a" and "b" in the given files, /file1andfile2*:*
The replace program is used by .
replace
supports the following options.
This page is licensed: CC BY-SA / Gnu FDL
mariadb-embedded
is a statically linked to libmariadbd, the embedded server.
Prior to , the client was called mysql_embedded
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
Upon execution, an embedded MariaDB server is instantiated and you can execute statements just as you would using the normal mariadb client, using the same options.
Do not run mariadb-embedded using the same database as a running MariaDB server!
Sending options with --server-arg
:
This page is licensed: CC BY-SA / Gnu FDL
is an open-source database GUI available for Linux, MacOS, and Windows.
Beekeeper Studio works with MariaDB, but also works with other databases like Postgres, Redshift, SQL Server.
Beekeeper Studio includes the following features:
Tabbed interface
SSH tunneling
SQL autocomplete
Multi-connection
The Community Edition is , and is , with no usage tracking or similar behavior.
Links
Homepage -
GitHub -
This page is licensed: CC BY-SA / Gnu FDL
mariadb_waitpid
is a utility for terminating processes. It runs on Unix-like systems, making use of the kill()
system call.
Prior to , the client was called mysql_waitpid
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
mariadb-waitpid
sends signal 0 to the process pid and waits up to time seconds for the process to terminate. pid and time must be positive integers.
Returns 0 if the process terminates in time, or does not exist, and 1 otherwise.
Signal 1 is used if the kill() system call cannot handle signal 0
This page is licensed: CC BY-SA / Gnu FDL
shell> mariadb-tzinfo-to-sql timezone_dir
shell> mariadb-tzinfo-to-sql timezone_file timezone_name
shell> mariadb-tzinfo-to-sql --leap timezone_file
truncate table mysql.time_zone;
truncate table mysql.time_zone_name;
truncate table mysql.time_zone_transition;
truncate table mysql.time_zone_transition_type;
truncate table mysql.time_zone_leap_second;
shell>mariadb-tzinfo-to-sql /usr/share/zoneinfo | mariadb -u root mysql
shell> mariadb-tzinfo-to-sql timezone_file timezone_name | mariadb -u root mysql
shell> mariadb-tzinfo-to-sql --leap timezone_file | mariadb -u root mysql
mariadb-find-rows [options] [file_name ...]
--help, --Information
Display help and exit.
--regexp=pattern
Display queries that match the pattern.
--rows=N
Quit after displaying N queries.
--skip-use-db
Do not include USE db_name statements in the output.
--start_row=N
Start output from this row (first row is 1).
mariadb-find-rows --regexp=problem_table --rows=20 < update.log
mariadb-find-rows --regexp=problem_table update-log.1 update-log.2
perror [OPTIONS] [ERRORCODE [ERRORCODE...]]
-?, --help
Display help and exit.
-I, --info
Synonym for --help.
-s, --silent
Only print the error message.
-v, --verbose
Print error code and message (default). (Defaults to on; use --skip-verbose to disable.)
-V, --version
Displays version information and exits.
shell> perror 96
OS error code 96: Protocol family not supported
shell> perror 1005 1006
MySQL error code 1005 (ER_CANT_CREATE_TABLE): Can't create table %`s.%`s (errno: %M)
MySQL error code 1006 (ER_CANT_CREATE_DB): Can't create database '%-.192s' (errno: %M)
shell> perror --silent 1979
You are not owner of query %lu
shell> replace from to [from to] ... -- file_name [file_name] ...
shell> replace from to [from to] ... < file_name
^
Match start of line.
$
Match end of line.
\b
Match space-character, start of line or end of line. For an end \b the next replace starts looking at the end space-character. A \b alone in a string matches only a space-character
shell> replace a b b a -- file1 file2 ...
-?, -I
Display a help message and exit.
-#debug_options
Enable debugging.
-s
Silent mode. Print less information about what the program does.
-v
Verbose mode. Print more information about what the program does.
-V
Display version information and exit.
sudo mariadb-embedded -e 'select user, host, password from mysql.user where user="root"'
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7 |
| root | db1 | *196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7 |
| root | 127.0.0.1 | *196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7 |
| root | ::1 | *196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7 |
+------+-----------+-------------------------------------------+
sudo mariadb-embedded --server-arg='--skip-innodb'
--server-arg='--default-storage-engine=myisam'
--server-arg='--log-error=/tmp/mysql.err'
-e 'select user, host, password from mysql.user where user="root"'
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7 |
| root | db1 | *196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7 |
| root | 127.0.0.1 | *196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7 |
| root | ::1 | *196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7 |
+------+-----------+-------------------------------------------+
mariadb-waitpid [options] pid time
-?, --help
Display help and exit
-I, --help
Synonym for -?
-v, --verbose
Be more verbose. Give a warning, if kill can't handle signal 0
-V, --version
Print version information and exit
mariadb-setpermission [options]
mariadb-setpermission
is a Perl script that was originally written and contributed by Luuk de Boer. It requires the DBI and DBD::mysql Perl modules to be installed.mariadb-setpermission
can help you add users or databases or change passwords in MariaDB.
Prior to , the client was called mysql_setpermission
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
It interactively sets permissions in the MariaDB grant tables, but does not check permissions which have already been set in MariaDB. So if you can't connect to MariaDB using the permission you just added, take a look at the permissions which have already been set in MariaDB.
The account used when you connect determines which permissions you have when attempting to modify existing permissions in the grant tables.
mariadb-setpermission
also reads options from the [client] and [perl] groups in the .my.cnf file in your home directory, if the file exists.
The following options are available:
--help
Display a help message and exit.
--host=host_name
Connect to the MariaDB server on the given host.
--password=password
The password to use when connecting to the server. Note that the password value is not optional for this option, unlike for other MariaDB programs Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.
--port=port_num
The TCP/IP port number to use for the connection.
--socket=path
For connections to localhost, the Unix socket file to use.
--user=user_name
The MariaDB user name to use when connecting to the server.
./mariadb-setpermission --user=msandbox --password=msandbox --host=127.0.0.1 --port=11200
######################################################################
## Welcome to the permission setter 1.4 for MariaDB.
## made by Luuk de Boer
######################################################################
What would you like to do:
1. Set password for an existing user.
2. Create a database + user privilege for that database
and host combination (user can only do SELECT)
3. Create/append user privilege for an existing database
and host combination (user can only do SELECT)
4. Create/append broader user privileges for an existing
database and host combination
(user can do SELECT,INSERT,UPDATE,DELETE)
5. Create/append quite extended user privileges for an
existing database and host combination (user can do
SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,
LOCK TABLES,CREATE TEMPORARY TABLES)
6. Create/append full privileges for an existing database
and host combination (user has FULL privilege)
7. Remove all privileges for an existing database and
host combination.
(user will have all permission fields set to N)
0. exit this program
This page is licensed: CC BY-SA / Gnu FDL
mariadb-plugin
is a tool for enabling or disabling plugins.
Prior to , the client was called mysql_plugin
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
It is a commandline alternative to the INSTALL PLUGIN and UNINSTALL PLUGIN statements, and the --plugin-load option
to mariadbd.
mariadb-plugin
must be run while the server is offline, and works by adding or removing rows from the mysql.plugin table.
mariadb-plugin
basically has two use cases:
adding a plugin even before the first real server startup
removing a plugin that crashes the server on startup
For the install use case, adding a plugin-load-add entry to my.cnf
or in a separate include option file, is probably a better alternative. In case of a plugin loaded via a mysql.plugin
crashing the server, uninstalling the plugin with the help of mariadb-plugin
can be the only viable action though.
mariadb-plugin [options] <plugin> ENABLE|DISABLE
mariadb-plugin
expects to find a configuration file that indicates how to configure the plugins. The configuration file is by default the same name as the plugin, with a .ini
extension. For example:
mariadb-plugin crazyplugins ENABLE
Here, mariadb-plugin
will look for a file called crazyplugins.ini
crazyplugins
crazyplugin1
crazyplugin2
crazyplugin3
The first line should contain the name of the library object file, with no extension. The other lines list the names of the components. Each value should be on a separate line, and the #
character at the start of the line indicates a comment.
The following options can be specified on the command line, while some can be specified in the [mysqld]
group of any option file. For options specified in a [mysqld]
group, only the --basedir
, --datadir
, and --plugin-dir
options can be used - the rest are ignored.
-b, --basedir=name
The base directory for the server.
-d, --datadir=name
The data directory for the server.
-?, --help
Display help and exit.
-f, --my-print-defaults=name
Path to my_print_defaults executable. Example: /source/temp11/extra
-m, --mysqld=name
Path to mysqld executable. Example: /sbin/temp1/mysql/bin
-n, --no-defaults
Do not read values from configuration file.
-p, --plugin-dir=name
The plugin directory for the server.
-i, --plugin-ini=name
Read plugin information from configuration file specified instead of from /<plugin_name>.ini.
-P, --print-defaults
Show default values from configuration file.
-v, --verbose
More verbose output; you can use this multiple times to get even more verbose output.
-V, --version
Output version information and exit.
This page is licensed: CC BY-SA / Gnu FDL
my_print_defaults
displays the options from option groups of option files. It is useful to see which options a particular tool will use.
Output is one option per line, displayed in the form in which they would be specified on the command line.
my_print_defaults [OPTIONS] [groups]
-c, --config-file=name
Deprecated, please use --defaults-file instead. Name of config file to read; if no extension is given, default extension (e.g., .ini or .cnf) will be added.
-d, --debug[=#]
In debug versions, write a debugging log. A typical debug_options string is d:t:o,file_name. The default is d:t:o,/tmp/my_print_defaults.trace.
-c, --defaults-file=name
Like --config-file, except: if first option, then read this file only, do not read global or per-user config files; should be the first option. Removed in .
-e, --defaults-extra-file=name
Read this file after the global config file and before the config file in the users home directory; should be the first option. Removed in .
-g, --defaults-group-suffix=name
In addition to the given groups, read also groups with this suffix. Removed in .
-e, --extra-file=name
Deprecated. Synonym for --defaults-extra-file.
--mariadbd
Read the same set of groups that the binary does. From .
--mysqld
Read the same set of groups that the binary does.
-n, --no-defaults
Return an empty string (useful for scripts).
?, --help
Display this help message and exit.
-v, --verbose
Increase the output level.
-V, --version
Output version information and exit.
my_print_defaults --defaults-file=example.cnf client client-server mysql
mariadb-check reads from the [mariadb-check] and [client] sections, so the following would display the mariadb-check options.
my_print_defaults mariadb-check client
This page is licensed: CC BY-SA / Gnu FDL
resolve_stack_dump is a tool that resolves numeric stack strace dumps into symbols.
resolve_stack_dump [OPTIONS] symbols-file [numeric-dump-file]
The symbols-file should include the output from: nm --numeric-sort mariadbd
.
The numeric-dump-file should contain a numeric stack trace from mariadbd.
If the numeric-dump-file is not given, the stack trace is read from stdin.
-h, --help
Display this help and exit.
-V, --version
Output version information and exit.
-s, --symbols-file=name
Use specified symbols file.
-n, --numeric-dump-file=name
Read the dump from specified file.
This page is licensed: CC BY-SA / Gnu FDL
mariadb-report
makes a friendly report of important MariaDB status values.
Prior to , the client was called mysqlreport
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
Actually, mariadb-report
makes a friendly report of nearly every status value from SHOW STATUS. Unlike SHOW STATUS which simply dumps over 100 values to the screen in one long list, mariadb-report interprets and
formats the values and presents the basic values and many more inferred values in a human-readable format. Numerous example reports
are available in the archive of the old , .
The benefit of mariadb-report is that it allows you to very quickly see a wide array of performance indicators for your MariaDB server which would otherwise need to be calculated by hand from all the various SHOW STATUS values. For example, the Index Read Ratio is an important value but it's not present in SHOW STATUS; it's an inferred value (the ratio of Key_reads to Key_read_requests).
This documentation outlines all the command line options in mariadb-report, most of which control which reports are printed. This document does not address how to interpret these reports; that topic is covered in the document Guide To Understanding mysqlreport, .
Technically, command line options are in the form --option
, but -option
works too. All options can be abbreviated if the abbreviation is unique. For example, option --host
can be abbreviated to --ho
but not --h
because --h
is ambiguous: it could mean --host
or --help
.
This page is licensed: CC BY-SA / Gnu FDL
Powerful, yet easy-to-use, DbSchema helps you design, document and manage databases without having to be a SQL pro. Easily design new tables, generate HTML5 documentation, explore and edit the database data, compare and synchronize the schema over multiple databases, edit and execute SQL, generate random data.
DbSchema is compatible with all relational and few No-SQL databases. It works on all major operating systems, including Windows, Linux and Mac.
You can download and evaluate DbSchema 15 days for free.
This page is licensed: CC BY-SA / Gnu FDL
The MariaDB command-line client. Previously, the client was called `mysql`. The client can still be accessed in this way, via a symlink in Linux, or an alternate binary in Windows.
MariaDB uses mariadb-test to test functionality. It is an all-in-one test framework doing unit, regression, and conformance testing
mariadb-report [options]
--all
Equivalent to --dtq --dms --com 3 --sas --qcache. (Notice --tab is not invoked by --all.)
--com N
Print top N number of non-DMS Com_ status values in descending order (after DMS in Questions report). If N is not given, default is 3. Such non-DMS Com_ values include Com_change_db, Com_show_tables, Com_rollback, etc.
--dms
--dtq
Print Distribution of Total Queries (DTQ) report (under Total in Questions report). Queries (or Questions) can be divided into four main areas: DMS (see --dms), Com_ (see --com ), COM_QUIT (see COM_QUIT and Questions, archived here), and Unknown. --dtq lists the number of queries in each of these areas in descending order.
--email ADDRESS
After printing the report to screen, email the report to ADDRESS. This option requires sendmail in /usr/sbin/, therefore it does not work on Windows. /usr/sbin/sendmail can be a sym link to qmail, for example, or any MTA that emulates sendmail's -t command line option and operation. The FROM: field is "mariadb-report", SUBJECT: is "MySQL status report".
--flush-status
Execute a FLUSH STATUS after generating the reports. If you do not have permissions in MariaDB to do this an error from DBD::mysql::st will be printed after the reports.
--help
Output help information and exit.
--host ADDRESS
Host address.
--infile FILE
Instead of getting SHOW STATUS values from MariaDB, read values from FILE. FILE is often a copy of the output of SHOW STATUS including formatting characters (+, -). mariadb-report expects FILE to have the format " value number " where value is only alpha and underscore characters (A-Z and _) and number is a positive integer. Anything before, between, or after value and number is ignored. mariadb-report also needs the following MariaDB server variables: version, table_cache, max_connections, key_buffer_size, query_cache_size. These values can be specified in INFILE in the format "name = value" where name is one of the aforementioned server variables and value is a positive integer with or without a trailing M and possible periods (for version). For example, to specify an 18M key_buffer_size: key_buffer_size = 18M. Or, a 256 table_cache: table_cache = 256. The M implies Megabytes not million, so 18M means 18,874,368 not 18,000,000. If these server variables are not specified the following defaults are used (respectively) which may cause strange values to be reported: 0.0.0, 64, 100, 8M, 0.
--no-mycnf
Makes mariadb-report not read /.my.cnf which it does by default otherwise. --user and --password always override values from /.my.cnf.
--outfile FILE
After printing the report to screen, print the report to FILE too. Internally, mariadb-report always writes the report to a temp file first: /tmp/mysqlreport.PID on *nix, c:sqlreport.PID on Windows (PID is the script's process ID). Then it prints the temp file to screen. Then if --outfile is specified, the temp file is copied to OUTFILE. After --email (above), the temp file is deleted.
--password
As of version 2.3 --password can take the password on the command line like --password FOO. Using --password alone without giving a password on the command line causes mariadb-report to prompt for a password.
--port PORT
Port number.
--qcache
Print Query Cache report.
--sas
Print report for Select_ and Sort_ status values (after Questions report). See MySQL Select and Sort Status Variables, archived here.
--socket SOCKET
For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use.
--tab
Print Threads, Aborted, and Bytes status reports (after Created temp report). The Threads report reports on all Threads_ status values.
--user USERNAME
Username.
MariaDB Enterprise Server users can import data into a database using the LOAD DATA LOCAL INFILE
statement:
The LOAD DATA LOCAL INFILE
statement can import data from TSV and CSV files
The LOAD DATA LOCAL INFILE
statement can be executed by any client or connector
Determine the connection parameters for your MariaDB Enterprise Server database.
Use mariadb client with the connection information to import your schema into your MariaDB Enterprise Server database:
$ mariadb --host FULLY_QUALIFIED_DOMAIN_NAME --port TCP_PORT \
--user DATABASE_USER --password \
--ssl-verify-server-cert \
--ssl-ca ~/PATH_TO_PEM_FILE \
--default-character-set=utf8 \
< mariadb_schema.sql
Replace FULLY_QUALIFIED_DOMAIN_NAME
with the IP address or Fully Qualified Domain Name of your database
Replace TCP_PORT
with the TCP port of your database
Replace DATABASE_USER
with the username for your database user account
If TLS is required, replace /PATH_TO_PEM_FILE
with the path to the certificate authority chain (.pem) file
After the command is executed, you will be prompted for the password of your database user account.
Determine the connection parameters for your MariaDB Enterprise Server database.
Connect with the mariadb client and specify the --local-infile
option, which is needed by the next step:
$ mariadb --host FULLY_QUALIFIED_DOMAIN_NAME --port TCP_PORT \
--user DATABASE_USER --password \
--ssl-verify-server-cert \
--ssl-ca ~/PATH_TO_PEM_FILE \
--default-character-set=utf8 \
--local-infile
Replace FULLY_QUALIFIED_DOMAIN_NAME
with the IP address or Fully Qualified Domain Name of your database
Replace TCP_PORT
with the TCP port of your database
Replace DATABASE_USER
with the username for your database user account
If TLS is required, replace /PATH_TO_PEM_FILE
with the path to the certificate authority chain (.pem) file
After the command is executed, you will be prompted for the password of your database user account.
For each table that you want to import, execute the LOAD DATA LOCAL INFILE
statement to import the data from the TSV or CSV file into your MariaDB Enterprise Server database.
For a TSV file:
LOAD DATA LOCAL INFILE 'contacts.tsv'
INTO TABLE accounts.contacts;
For a CSV file:
LOAD DATA LOCAL INFILE 'contacts.csv'
INTO TABLE accounts.contacts
FIELDS TERMINATED BY ',';
To execute the LOAD DATA LOCAL INFILE
statement, most clients and connectors require a specific option to be enabled.
The section above mentions that mariadb client requires the --local-infile
option to be specified.
If you are using a instead of the mariadb client, then you must use a different method to enable support for the LOAD DATA LOCAL INFILE
statement.
If you are using , the MYSQL_OPT_LOCAL_INFILE
option can be set with the mysql_optionsv() function:
/* enable local infile */
unsigned int enable_local_infile = 1;
mysql_optionsv(mysql, MYSQL_OPT_LOCAL_INFILE, (void *) &enable_local_infile);
If you are using , the allowLocalInfile parameter can be set for the connection:
Connection connection = DriverManager.getConnection("jdbc:mariadb://FULLY_QUALIFIED_DOMAIN_NAME:TCP_PORT/test?user=DATABASE_USER&password=DATABASE_PASSWORD&allowLocalInfile=true");
If you are using , the permitLocalInfile parameter can be set for the connection:
mariadb.createConnection({
host: 'FULLY_QUALIFIED_DOMAIN_NAME',
port: 'TCP_PORT',
user:'DATABASE_USER',
password: 'DATABASE_PASSWORD',
permitLocalInfile: 'true'
});
If you are using , the local_infile
parameter can be set for the connection:
conn = mariadb.connect(
user="DATABASE_USER",
password="DATABASE_PASSWORD",
host="FULLY_QUALIFIED_DOMAIN_NAME",
port=TCP_PORT,
local_infile=true)
This page is: Copyright © 2025 MariaDB. All rights reserved.
MariaDB starting with
mariadb-conv
is a character set conversion utility for MariaDB and was added in .
mariadb-conv [OPTION...] [FILE...]
mariadb-conv
supports the following options:
-f, --from=name
Specifies the encoding of the input.
-t, --to=name
Specifies the encoding of the output.
-c, --continue
Silently ignore conversion errors.
--delimiter=name
Treat the specified characters as delimiters.
By default, mariadb-conv
exits whenever it encounters any conversion problems, for example:
the input byte sequence is not valid in the source character set
the character cannot be converted to the target character set
The -c
option makes mariadb-conv
ignore such errors and use the question mark '?' to replace bytes in bad input sequences, or unconvertable characters.
The --delimiter=...
option makes mariadb-conv
treat the specified characters as delimiters rather than data to convert, so the input is treated as a combination of:
data chunks, which are converted according to the -f
and -t
options.
delimiters, which are not converted and are copied from the input to the output as is.
Converts the file file.latin1.txt
from latin1
to utf8
.
mariadb-conv -f latin1 -t utf8 file.latin1.txt
Convert the file file.latin1.txt
from latin1
to utf8
, reading the input data from stdin.
mariadb-conv -f latin1 -t utf8 < file.latin1.txt
Using mariadb-conv in a pipe:
echo test | ./mariadb-conv -f utf8 -t ucs2 >file.ucs2.txt
As a side effect, mariadb-conv can be used to list MariaDB data directories in a human readable form. Suppose you create the following tables:
SET NAMES utf8;
CREATE OR REPLACE TABLE t1 (a INT);
CREATE OR REPLACE TABLE ß (a INT);
CREATE OR REPLACE TABLE абв (a INT);
CREATE OR REPLACE TABLE 桌子 (a INT);
The above makes the server create the following files in the MariaDB data directory:
@1j.frm
@1j.ibd
@684c@5b50.frm
@684c@5b50.ibd
@g0@h0@i0.frm
@g0@h0@i0.ibd
t1.frm
t1.ibd
It's not precisely clear which file stores which table, because MariaDB uses a special table-name-to-file-name encoding.
This command on Linux (assuming an utf-8 console) can print the table list in a readable way::
ls | mariadb-conv -f filename -t utf8 --delimiter=".\n"
ß.frm
ß.ibd
桌子.frm
桌子.ibd
абв.frm
абв.ibd
t1.frm
t1.ibd
Note, the --delimiter=".\n"
option is needed to make mariadb-conv
treat the dot character (delimiting the encoded table name from the file extension) and the new line character (delimiting separate lines) as delimiters rather than as the data to convert (otherwise the conversion would fail).
Windows users can use the following command to list the data directory in the ANSI text console:
dir /b | mariadb-conv -c -f filename -t cp850 --delimiter=".\r\n"
Note:
The -t
options assume a Western machine.
The -c
option is needed to ignore conversion errors for Cyrillic and CJK characters.
--delimiter=
additionally needs the carriage return character
This page is licensed: CC BY-SA / Gnu FDL
aria_pack is a tool for compressing Aria tables. The resulting table are read-only, and usually about 40% to 70% smaller.
aria_pack is run as follows
aria_pack [options] file_name [file_name2...]
The file name is the .MAI index file. The extension can be omitted, although keeping it permits wildcards, such as
aria_pack *.MAI
to compress all the files.
aria_pack compresses each column separately, and, when the resulting data is read, only the individual rows and columns required need to be decompressed, allowing for quicker reading.
Once a table has been packed, use aria_chk -rq (the quick and recover options) to rebuild its indexes.
The following variables can be set while passed as commandline options to aria_pack, or set in the [ariapack] section in your my.cnf file.
-b, --backup
Make a backup of the table as table_name.OLD.
--character-sets-dir=name
Directory where character sets are.
-h, --datadir
Path for control file (and logs if --logdir not used). From
-#, --debug[=name]
Output debug log. Often this is 'd:t:o,filename'.
-?, --help
Display help and exit.
-f, --force
Force packing of table even if it gets bigger or if tempfile exists.
--ignore-control-file
Ignore the control file. From .
-j, --join=name
Join all given tables into 'new_table_name'. All tables MUST have identical layouts.
--require-control-file
Abort if cannot find control file. From .
-s, --silent
Only write output when an error occurs.
-t, --test
Don't pack table, only test packing it.
-T, --tmpdir=name
Use temporary directory to store temporary table.
-v, --verbose
Write info about progress and packing result. Use many -v for more verbosity!
-V, --version
Output version information and exit.
-w, --wait
Wait and retry if table is in use.
To unpack a table compressed with aria_pack, use the aria_chk -u option.
> aria_pack /my/data/test/posts
Compressing /my/data/test/posts.MAD: (1690 records)
- Calculating statistics
- Compressing file
37.71%
> aria_chk -rq --ignore-control-file /my/data/test/posts
- check record delete-chain
- recovering (with keycache) Aria-table '/my/data/test/posts'
Data records: 1690
State updated
This page is licensed: CC BY-SA / Gnu FDL
aria_read_log is a tool for displaying and applying log records from an Aria transaction log.
Note: Aria is compiled without -DIDENTICAL_PAGES_AFTER_RECOVERY which means that the table files are not byte-to-byte identical to files created during normal execution. This should be ok, except for test scripts that try to compare files before and after recovery.
Usage:
aria_read_log OPTIONS
You need to use one of -d
or -a
.
The following variables can be set while passed as commandline options to aria_read_log, or set in the [aria_read_log]
section in your my.cnf file.
-a, --apply
Apply log to tables: modifies tables! you should make a backup first! Displays a lot of information if not run with --silent.
--character-sets-dir=name
Directory where character sets are.
-c, --check
if --display-only, check if record is fully readable (for debugging).
-?, --help
Display help and exit.
-d, --display-only
Display brief info read from records' header.
-e, --end-lsn=#
Stop applying at this lsn. If end-lsn is used, UNDO:s will not be applied
-h, --aria-log-dir-path=name
Path to the directory where to store transactional log
-P, --page-buffer-size=#
The size of the buffer used for index blocks for Aria tables.
-l, --print-log-control-file
Print the content of the aria_log_control_file. From .
-o, --start-from-lsn=#
Start reading log from this lsn.
-C, --start-from-checkpoint
Start applying from last checkpoint.
-s, --silent
Print less information during apply/undo phase.
-T, --tables-to-redo=name
List of comma-separated tables that we should apply REDO on. Use this if you only want to recover some tables.
-t, --tmpdir=name
Path for temporary files. Multiple paths can be specified, separated by colon (:)
--translog-buffer-size=#
The size of the buffer used for transaction log for Aria tables.
-u, --undo
Apply UNDO records to tables. (disable with --disable-undo) (Defaults to on; use --skip-undo to disable.)
-v, --verbose
Print more information during apply/undo phase.
-V, --version
Print version and exit.
This page is licensed: CC BY-SA / Gnu FDL
mariadb-binlog
is a utility included with MariaDB for processing binary log and relay log files.
The MariaDB server's binary log is a set of files containing "events" which represent modifications to the contents of a MariaDB database. These events are written in a binary (i.e. non-human-readable) format. The mariadb-binlog utility is used to view these events in plain text.
Prior to , the client was called mysqlbinlog
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
mariadb-access
is a tool for checking access privileges, developed by Yves Carlier.
Prior to , the client used to be called mysqlaccess
, and can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
It checks the access privileges for a host name, user name, and database combination. Note that mariadb-access checks access using only the , , and host tables. It does not check table, column, or routine privileges specified in the , , or tables.
If your MariaDB distribution is installed in some non-standard location, you must change the location where mariadb-access expects to find the mariadb client. Edit the mariadb-access script at approximately line 18. Search for a line that looks like this:
<
$MYSQL = ´/usr/local/bin/mariadb;
path to mariadb executable
<
>
Change the path to reflect the location where mariadb actually is stored on your system. If you do not do this, a Broken pipe error will occur when you run mariadb-access.
At least the user (-u
) and the database (-d
) must be given, even with wildcards. If no host is provided, `localhost' is assumed. Wildcards (,?,%,_) are allowed for host, user and db, but be sure to escape them from your shell!! (ie type * or '')
This page is licensed: CC BY-SA / Gnu FDL
innochecksum is a tool for printing checksums for InnoDB files.
It reads an tablespace file, calculates the checksum for each page, compares the calculated checksum to the stored checksum, and reports mismatches, which indicate damaged pages. It was originally developed to speed up verifying the integrity of tablespace files after power outages but can also be used after file copies. Because checksum mismatches will cause InnoDB to deliberately shut down a running server, it can be preferable to use innochecksum rather than waiting for a server in production usage to encounter the damaged pages.
Multiple filenames can be specified by a wildcard on non-Windows systems only.
innochecksum works with compressed pages, and also includes options to analyze leaf pages to estimate how fragmented an index is and how much benefit can be gained from defragmentation.
innochecksum supports the following options. For options that refer to page numbers, the numbers are zero-based.
Rewriting a crc32 checksum to replace an invalid checksum:
A count of each page type:
This page is licensed: CC BY-SA / Gnu FDL
is a graphical front-end for MariaDB. It is a commercial product with several different versions (Navicat Premium, Navicat for MySQL, etc...) and different "editions" within those versions (Non-commercial, Standard, and Enterprise). Certain features are only available in certain editions/versions.
Navicat is compatible with all versions of MariaDB and with MySQL 3.21 and above. It is available for Windows, MacOS, and Linux.
In addition to standard client features, it includes:
a SQL Builder/Editor
a Data Modeling Tool (Enterprise version only)
Data/Structure Synchronization
Report Builder (Windows-only)
"Premium" version which can connect to MariaDB, MySQL, SQL Server, SQLite, Oracle, and PostgreSQL databases simultaneously.
A is available. More information, including pricing and "trial" versions, is available on the .
This page is licensed: CC BY-SA / Gnu FDL
is a Windows application (which works fine under Wine on Linux) for database design, development, maintenance and testing for several database systems: MySQL, MariaDB, Oracle, Firebird, InterBase, Microsoft SQL Server, SQL Anywhere and NexusDB.
With Database Workbench you can:
design a database
connect to multiple databases
view and modify meta data
view and modify data
import and export data
connect to any ODBC/ADO data source
transfer data between database systems
migrate meta data
compare meta data
manage privileges
debug stored procedure
print meta data or data
It includes numerous other tools, .
Database Workbench comes in multiple editions and is licensed on a per module basis, so there's always a version that suits you.
This page is licensed: CC BY-SA / Gnu FDL
Generate and populate databases with large volumes of realistic test data.
is a simple and powerful GUI tool for creating large volumes of realistic test data to populate selected tables or entire databases. The tool reverses your database and displays tables and columns, so you can assign to them multiple data generator templates. The tool includes multiple built-in generators that allow populating MariaDB database tables with realistic data of various types.
Key Benefits:
Understand your database structure by visualizing the ER Diagram (tables, columns, relationships, keys, sequences, indexes, and triggers)
Ability to generate a large volume of realistic test data
Preview what data will be generated before populating the database with test data
Multiple built-in generators available with the ability to create custom data generators
Generate test data for most popular DBMS including MariaDB and MySQL
This page is licensed: CC BY-SA / Gnu FDL
mysql is a simple SQL shell with GNU readline capabilities.
From , the client is called mariadb
. The old name, mysql
, can still be used, via a symlink in Linux, or an alternate binary in Windows.
See for details.
This page is licensed: GPLv2
is a fast, easy-to-use Mac database management application for working with MySQL and MariaDB databases.
is open source, so it's easy to be involved and enhance it for MariaDB. You can also help by donating to the project!
If you have any issues with Sequel Pro on MariaDB, please use the for that!
This page is licensed: CC BY-SA / Gnu FDL
See
OmniDB is a browser-based tool that simplifies MariaDB database management focusing on interactivity, designed to be powerful and lightweight.
Characteristics:
Browser-based Tool: Accessible from any platform, using a browser as a medium.
Responsive Interface: All available functions in a single page.
Unified workspace: Different technologies managed in a single workspace.
Simplified Editing: Easy to add and remove connections.
Safety: Multi-user support with encrypted personal information.
Interactive Tables: All functionalities use interactive tables, allowing copying and pasting in blocks.
Smart SQL Editor: Contextual SQL code completion.
Beautiful SQL Editor: You can choose between many available color themes.
Tabbed SQL Editor: Easily add, rename or delete editor tabs.
OmniDB Web Page:
This page is licensed: CC BY-SA / Gnu FDL
mysqlbinlog
was a utility included with MariaDB for processing and files.
From , the client is called mariadb-binlog
. It can still be accessed under its original mysqladmin
name via a symlink in Linux, or an alternate binary in Windows.
See for details.
This page is licensed: CC BY-SA / Gnu FDL
phpMyAdmin is a web-based tool for administering MariaDB and MySQL.
It requires a web server, PHP, and a browser.
Read more at
This page is licensed: CC BY-SA / Gnu FDL
SQLyog () is a GUI tool to manage MySQL and MariaDB servers and databases in physical, virtual, and cloud environments. DBAs, developers, and database architects alike, use SQLyog to visually compare, optimize, and document schemas.
Key Features ● Automatically synchronize data ● Visually compare data ● Import external data
Additional Highlights ● Runs on Microsoft Windows with no dependencies on runtimes (such as Microsoft .NET and Java) and database abstraction layers (such as ODBC and JDBC). ● Distributed as a free Community edition and as a paid, proprietary Ultimate edition. Learn about why you should consider upgrading from the Community edition to the Ultimate edition here.
This page is licensed: CC BY-SA / Gnu FDL
is a modern, native app with a clean user interface that allows developers to simultaneously manage databases in a very fast and secure way. TablePlus supports most of the popular databases such as MySQL, Postgres, SQL Server, SQLite, Microsoft SQL Server, Redis, Redshift, Oracle, and many more.
TablePlus is compatible with all versions of MariaDB. It is available for macOS, Windows, iOS, and Linux at the moment.
Some notable features:
Native build
Convenient query editor
Multi Tabs & Code Review
Can connect to multiples databases simultaneously.
TablePlus is available for free, but users can purchase a license to remove some limitations and customize the tool for higher needs on .
This page is licensed: CC BY-SA / Gnu FDL
The Ocelot GUI (ocelotgui), a database client, allows users to connect to a MySQL or MariaDB DBMS server, enter SQL statements, and receive results. Some of its features are: syntax highlighting, user-settable colors and fonts for each part of the screen, result-set displays with multi-line rows and resizable columns, and a debugger.
Visit ocelot.ca for more information and to download.
This page is licensed: CC BY-SA / Gnu FDL
Valentina Studio is a graphical front end for MariaDB with two versions: a free version which supports features offered only in paid for versions of competing products and a Pro version that adds advanced features.
Free Valentina Studio offers the following features:
natively available on macOS, Windows & Linux
a feature rich, visual SQL Editor with powerful search functionality
SQLDIFF
a highly productive Data Editor
support for many data sources including all versions of MariaDB and MySQL 5.0.6 and later*
ODBC import
Schema Editor with powerful visual diagramming features, Diagram Editor; import diagrams from MySQL Workbench
Report Viewer with printing, export to PDF and HTML (local reports and from Valentina Server)
Forms Client for working with visual forms and MariaDB (locally and from Valentina Server)
Free supports most popular data sources, MariaDB, MySQL, SQL Server, SQLite, PostgreSQL and more
Use the Valentina Studio FREE vs Valentina Studio PRO feature matrix to see which version is best for your needs or download to immediately evaluate.
This page is licensed: CC BY-SA / Gnu FDL
DbVisualizer is a cross-platform database tool for developers, DBAs, analysts and SQL programmers. Both Free and paid Pro version available.
Supported databases: MySQL, MariaDB, PostgreSQL, Netezza, Db2, SQLite, Oracle, Amazon Redshift, Vertica, Snowflake and more.
For almost two decades DbVisualizer has been carefully developed by a small and dedicated team. Development decisions are based on user feedback.
Example of features:
Simple navigation of database objects and their properties
Visual rendering of primary/foreign keys
Table data editing in spreadsheet with Export and import database schema
Flexible user interface in light and dark themes
Query optimization with an explain plan feature
Visual query builder using drag and drop
Flexible SQL scripts execution with parameter support
SQL formatting and Command-line interface for headless execution
This page is licensed: CC BY-SA / Gnu FDL
resolveip is a utility for resolving IP addresses to host names and vice versa.
resolveip [OPTIONS] hostname or IP-address
Option
Description
-?, --help
Display help and exit.
-I, --info
Synonym for --help.
-s, --silent#
Be more silent.
-V, --version
Display version information and exit.
shell> resolveip mariadb.org
IP address of mariadb.org is 166.78.144.191
resolveip 166.78.144.191
Host name of 166.78.144.191 is mariadb.org
This page is licensed: CC BY-SA / Gnu FDL
Querious is a database administration tool for macOS.
It can be purchased/downloaded at querious
This page is licensed: CC BY-SA / Gnu FDL
mariadb-access [host [user [db]]] OPTIONS
-?, --help
Displayhelp and exit.
-v, --version
Display version.
-u username, --user=username
Username for logging in to the db.
-p[password], --password[=password]
Password to use for user. If ommitted, mariadb-access prompts for one.
-h hostname, --host=hostname
Name or IP of the host.
-d dbname, --db=dbname
Name of the database.
-U username, --superuser=username
Connect as superuser.
-P password, --spassword=password
Password for superuser.
-H server, --rhost=server
Remote server to connect to.
--old_server
Connect to a very old MySQL servers (before version 3.21) that does not know how to handle full WHERE clauses.
-b, --brief
Single-line tabular report.
-t, --table
Report in table-format.
--relnotes
Print release-notes.
--plan
Print suggestions/ideas for future releases.
--howto
Some examples of how to run `mariadb-access'.
--debug=N
Enter debug level N (0..3).
--copy
Reload temporary grant-tables from original ones.
--preview
Show differences in privileges after making changes in (temporary) grant-tables.
--commit
Copy grant-rules from temporary tables to grant-tables (the grant tables must be flushed after, for example with mariadb-admin reload).
--rollback
Undo the last changes to the grant-tables.
innochecksum [options] file_name
-a, --allow-mismatches=#
Maximum checksum mismatch allowed before innochecksum terminates. Defaults to 0, which terminates on the first mismatch.
-c, --count
Print a count of the number of pages in the file.
-e num, --end-page=#
End at this page number (0-based).
-?, --help
Displays help and exits.
-I, --info
Synonym for --help.
-f, --leaf
Examine leaf index pages.
-l fn, --log=fn
Log output to the specified filename fn.
-m num, --merge=#
Leaf page count if merge given number of consecutive pages.
-n, --no-check
Ignore the checksum verification. Until , must be used with the --write option.
-p num, --page=#
Check only this page number (0-based).
-D, --page-type-dump=name
Dump the page type info for each page in a tablespace.
-S, --page-type-summary
Display a count of each page type in a tablespace
-i, --per-page-details
Print out per-page detail information.
-u, --skip-corrupt
Skip corrupt pages.
-r, --skip-freed-pages
innochecksum misinterprets freed pages as active, leading to confusion that too many valid pages exist. To avoid this, this option was introduced to avoid freed pages while dumping or printing the summary of the tablespace. From , , , .
-s num, --start-page=#
Start at this page number (0-based).
-C, --strict-check=name
Specify the strict checksum algorithm. One of: crc32, innodb, none. If not specified, validates against innodb, crc32 and none. full_crc32 is not supported. See also innodb_checksum_algorithm. Removed in
-v, --verbose
Verbose mode; print a progress indicator every five seconds.
-V, --version
Displays version information and exits.
-w, --write=name
Rewrite the checksum algorithm. One of crc32, innodb, none. An exclusive lock is obtained during use. Use in conjunction with the -no-check option to rewrite an invalid checksum. Removed in
innochecksum --no-check --write crc32 tablename.ibd
innochecksum --page-type-summary data/mysql/gtid_slave_pos.ibd
File::data/mysql/gtid_slave_pos.ibd
================PAGE TYPE SUMMARY==============
#PAGE_COUNT PAGE_TYPE
===============================================
1 Index page
0 Undo log page
1 Inode page
0 Insert buffer free list page
2 Freshly allocated page
1 Insert buffer bitmap
0 System page
0 Transaction system page
1 File Space Header
0 Extent descriptor page
0 BLOB page
0 Compressed BLOB page
0 Page compressed page
0 Page compressed encrypted page
0 Other type of page
===============================================
Additional information:
Undo page type: 0 insert, 0 update, 0 other
Undo page state: 0 active, 0 cached, 0 to_free, 0 to_purge, 0 prepared, 0 other
index_id #pages #leaf_pages #recs_per_page #bytes_per_page
24 1 1 0 0
index_id page_data_bytes_histgram(empty,...,oversized)
24 1 0 0 0 0 0 0 0 0 0 0 0
mariadb-hotcopy
is a Perl script that was originally written and contributed by Tim Bunce. It uses FLUSH TABLES, LOCK TABLES, and cp or scp to make a database backup.
Prior to , the client was called mysqlhotcopy
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
It is a fast way to make a backup of the database or single tables, but it can be run only on the same machine where the database
directories are located. mariadb-hotcopy
> works only for backing up MyISAM and ARCHIVE tables. It runs on Unix and NetWare.
To use mariadb-hotcopy
, you must have read access to the files
for the tables that you are backing up, the SELECT privilege for
those tables, the RELOAD privilege (to be able to execute FLUSH TABLES), and
the LOCK TABLES privilege (to be able to lock the tables).
shell> mariadb-hotcopy db_name [/path/to/new_directory]
shell> mariadb-hotcopy db_name_1 ... db_name_n /path/to/new_directory
Back up tables in the given database that match a regular expression:
shell> mariadb-hotcopy db_name./regex/
The regular expression for the table name can be negated by prefixing it with a
tilde (“~
”):
shell> mariadb-hotcopy db_name./~regex/
mariadb-hotcopy
supports the following options, which can be
specified on the command line or in the [mariadb-hotcopy
] and
[client
] option file groups.
--help, -?
Display a help message and exit.
--addtodest
Do not rename target directory (if it exists); merely add files to it.
--allowold
Do not abort if a target exists; rename it by adding an _old suffix.
--checkpoint=db_name.tbl_name
Insert checkpoint entries into the specified database db_name and table tbl_name.
--chroot=path
Base directory of the chroot jail in which mariadbd operates. The path value should match that of the --chroot option given to mariadbd.
--debug
Enable debug output.
--dryrun, -n
Report actions without performing them.
--flushlog
Flush logs after all tables are locked.
--host=host_name, -h host_name
The host name of the local host to use for making a TCP/IP connection to the local server. By default, the connection is made to localhost using a Unix socket file.
--keepold
Do not delete previous (renamed) target when done.
--method=command
The method for copying files (cp or scp). The default is cp.
--noindices
Do not include full index files for MyISAM tables in the backup. This makes the backup smaller and faster. The indexes for reloaded tables can be reconstructed later with .
--old-server
Connect to old MySQL-server (before v5.5) which doesn't have fully implemented.
--password=password, -ppassword
The password to use when connecting to the server. The password value is not optional for this option, unlike for other MariaDB programs. Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.
--port=port_num, -P port_num
The TCP/IP port number to use when connecting to the local server.
--quiet, -q
Be silent except for errors.
--record_log_pos=db_name.tbl_name
Record master and slave status in the specified database db_name and table tbl_name.
--regexp=expr
Copy all databases with names that match the given regular expression.
--resetmaster
Reset the binary log after locking all the tables.
--resetslave
Reset the master.info file after locking all the tables.
--socket=path, -S path
The Unix socket file to use for connections to localhost.
--suffix=str
The suffix to use for names of copied databases.
--tmpdir=path
The temporary directory. The default is /tmp.
--user=username, -u username
The MariaDB username to use when connecting to the server.
Use perldoc for additional mariadb-hotcopy
documentation,
including information about the structure of the tables needed for the--checkpoint
and --record_log_pos
options:
shell> perldoc mariadb-hotcopy
This page is licensed: CC BY-SA / Gnu FDL
Prior to , the client was called mysql_secure_installation
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
mariadb-secure-installation
is a shell script available on Unix systems, and enables you to improve the security of your MariaDB installation in the following ways:
You can set a password for root accounts.
You can remove root accounts that are accessible from outside the local host.
You can remove anonymous-user accounts.
You can remove the test database, which by default can be accessed by anonymous users.
mariadb-secure-installation
can be invoked without arguments:
shell> mariadb-secure-installation
The script will prompt you to determine which actions to perform.
Example:
localhost:# mariadb-secure-installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] n
... skipping.
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
mariadb-secure-installation
accepts some options:
--basedir=dir
Base directory.
--no-defaults
Don't read default options from any option file.
--defaults-file=#
Only read default options from the given file #.
--defaults-extra-file=#
Read this file after the global files are read.
Other unrecognized options will be passed on to the server.
In addition to reading options from the command-line, mariadb-secure-installation
can also read options from option files. If an unknown option is provided to mariadb-secure-installation
in an option file, then it is ignored.
The following options relate to how MariaDB command-line tools handles option files. They must be given as the first argument on the command-line:
--no-defaults
Don't read default options from any option file.
--defaults-file=#
Only read default options from the given file #.
--defaults-extra-file=#
Read this file after the global files are read.
--defaults-group-suffix=#
In addition to the default option groups, also read option groups with this suffix.
mariadb-secure-installation
reads options from the following option groups from option files:
[client]
Options read by all MariaDB and MySQL , which includes both MariaDB and MySQL clients. For example, mysqldump.
[client-server]
Options read by all MariaDB client programs and the MariaDB Server. This is useful for options like socket and port, which is common between the server and the clients.
[client-mariadb]
Options read by all MariaDB client programs.
This script is not 100% safe for use with as it directly manipulates the mysql.user/mysql.global_priv table, which is not transported by Galera to the other nodes.
You should run this script on the first node in the cluster before adding more nodes.
If you want to run this after the cluster is up and running you should find alternative ways.
Anyone can vote for this to be fixed at MDEV-10112.
This page is licensed: CC BY-SA / Gnu FDL
DeZign for Databases is an intuitive data modeling tool for developers and DBA's that can help you model, create and maintain MariaDB databases.
Supported platforms include:
MariaDB
MySQL
Snowflake
SQL Server
PostgreSQL
SQLite
Key features:
Visual database modeling (Entity relationship diagrams).
Generate database schemas directly from the data model.
Incorporate changes from live databases into your existing models.
Create change scripts by comparing your model with the live database structure.
Publish and maintain data definitions to ensure consistency and accessibility.
Convert models into SQL, streamlining database creation.
Create clear and visually appealing ER diagrams, including sub-diagrams for complex systems.
Support version control to manage different iterations of your model.
Supported OS
DeZign for Databases is available for Windows OS.
More information
See www.datanamic.com for more information.
This page is licensed: CC BY-SA / Gnu FDL
SQLPro Studio is a fully native database client for macOS macOS and iOS. It supports databases such as MySQL, Postgres, Microsoft SQL Server, SQLite, Oracle and more.
Features include:
Syntax highlighting & Autocomplete (sometimes called intellisense).
Customizable themes allowing the query editor to be completely customized.
The ability to run multiple queries at one time (and a customizable run query shortcut).
Improved query error detection (errors in queries will be underlined red).
Full dark mode & light mode support, along with custom themes.
Other features include:
Complete SSH Tunnel support.
Inline data filtering.
Exporting & Exporting options to CSV, JSON & XML.
This page is licensed: CC BY-SA / Gnu FDL
ERBuilder Data Modeler is a GUI data modeling tool that allows developers to visualize, design, and model databases by using entity relationship diagrams and automatically generates the most popular SQL databases. Generate and share the data Model documentation with your team. Optimize your data model by using advanced features such as test data generation, schema compare, and schema synchronization
Supported DBMS include:
MariaDB
MySQL
Microsoft SQL Server
Microsoft Azure SQL database
Oracle
PostgreSQL
SQLite
Firebird
Amazon Redshift
Amazon RDS
Key features:
Visual data modeling
Forward and Reverse Engineering
Data Model Validation
Data model documentation
Schema Comparison and Synchronization
Test data generation
Change Database Platform
Generate web user interface for CRUD
Version management
Freeware version
Feature limited free version is available for download. Advanced features are available in the commercial edition. A feature comparison matrix is available for more details about features, pricing, and "trial" versions,
More information
See www.soft-builder.com for more information.
This page is licensed: CC BY-SA / Gnu FDL
Devart has upgraded dbForge Tools for MySQL and MariaDB with improved SQL document parser performance.
Devart, a recognized vendor of database management software, has released new versions of dbForge tools for MySQL product line – dbForge Schema Compare for MySQL, dbForge Data Compare for MySQL, dbForge Query Builder for MySQL and dbForge Data Generator for MySQL.
dbForge Tools for MySQL have the following new features and improvements:
Improved SQL document parser performance;
Connection through Named Pipe implemented;
Improved XML View and new JSON View for Data Editor and Viewer Window;
Additional SQL statements are supported;
Syntax Check supports new - 10.1 statements;
Styled icons are used by default.
The upgraded versions of dbForge Schema Compare for MySQL, dbForge Data Compare for MySQL, dbForge Query Builder for MySQL and dbForge Data Generator for MySQL are provided with Syntax Check that supports new - 10.1 statements, also additional SQL statements are supported and other improvements were made.
For more information about dbForge tools for MySQL, please visit.
About Devart
Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and Mobile development projects. For additional information about Devart, visit.
This page is licensed: CC BY-SA / Gnu FDL
Toad Edge™ is a database management application that allows you to perform database administration tasks with ease.
Toad Edge™ allows you to:
Connect to your MySQL database, view, explore and edit database structure, database objects and properties.
Manage database objects, easily add, edit or drop objects in Object Explorer.
Manage data stored in your database, add, edit or remove records.
Write complex SQL code comfortably in Worksheet.
Compare and synchronize databases using powerful Schema Compare.
Obtain detailed information about your databases.
In TOAD Edge 1.2, support for has been added.
This page is licensed: CC BY-SA / Gnu FDL
Luna Modeler is a database design tool for MariaDB and other relational databases.
Draw diagrams, reverse engineer existing database structures and generate SQL code.
Supported platforms include:
MariaDB
PostgreSQL
SQLite
Key features:
Database modeling & schema design
Reverse engineering
Support for database-specific settings
Three display modes: metadata, sample data or descriptions
Default values for newly created objects
Export to PDF
Dark and Light themes
SQL script generation
Supported OS
Luna Modeler is available for Windows, Linux and macOS.
More information
See www.datensen.com for more information.
This page is licensed: CC BY-SA / Gnu FDL
mariadb-fix-extensions
converts the extensions for MyISAM (or ISAM) table files to their canonical forms.
Prior to , the client was called mysql_fix_extensions
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
It looks for files with extensions matching any lettercase variant of .frm
, .myd
, .myi
, .isd
, and .ism
and renames them to have extensions of .frm
, .MYD
, .MYI
, .ISD
, and .ISM
, respectively. This can be useful after transferring the files from a system with case-insensitive file names (such as Windows) to a system with case-sensitive file names.
Invoke mariadb-fix-extensions as follows, where data_dir is the path name to the MariaDB data directory.
mariadb-fix-extensions data_dir
This page is licensed: CC BY-SA / Gnu FDL
mariadb-dumpslow
is a tool to examine the .
Prior to , the client was called mysqldumpslow
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
It parses the slow query log files, printing a summary result. Normally, mariadb-dumpslow groups queries that are similar except for the particular values of number and string data values. It “abstracts” these values to N and ´S´ when displaying summary output. The -a
and -n
options can be used to modify value abstracting behavior.
This page is licensed: CC BY-SA / Gnu FDL
is a versatile software solution designed to meet the needs of full-stack database specialists. It offers a wide range of features to address database challenges across major providers: MySQL/MariaDB, SQL Server, Oracle, and PostgreSQL. When it comes to MySQL and MariaDB, dbForge Edge provides a highly functional IDE that covers almost all aspects of database development and management.
Key Features of dbForge Edge:
Design
dbForge Edge includes a built-in Database Designer equipped with ER diagrams, allowing users to construct and edit databases. An intuitive interface facilitates the creation of database structures and generation of reusable SQL scripts for creating actual databases. Table Designer is a separate feature for visual creation and management of tables that covers the setup of columns, data types, constraints, etc.
SQL Development
dbForge Edge offers a powerful set of features to simplify SQL coding tasks. The code assistance module offers context-based keyword and object suggestions, code completion, instant syntax validation, customizable code formatting profiles, debugging, and code refactoring capabilities. Another feature worth mentioning is Query Builder – a tool that allows users to construct even the most complex SQL queries effortlessly in a visual mode.
Database Management
The solution incorporates schema and data comparison tools, enabling users to identify and manage differences in database schemas and table data. With automatically generated synchronization scripts, changes can be seamlessly deployed to target platforms. Comparison and synchronization jobs can also be automated, improving user efficiency.
dbForge Edge supports data migration (import and export) in over 10 major data formats. Both the import and export processes can be tailored to meet any specific requirements and automated for efficient workflows.
Also, dbForge Edge delivers Source Control, an integrated tool that enables version control of database schemas and static data, available for MariaDB, MySQL, and SQL Server databases. With its help, users can compare database versions, commit and revert changes with dependency awareness, view and resolve conflicts, and examine the history of changes. Source Control supports all popular version control systems, such as Git (including GitHub, GitLab, Azure DevOps, and Bitbucket), Apache Subversion (SVN), TFVC, Mercurial (Hg), Perforce (P4), and SourceGear Vault.
Testing
The solution features a robust Data Generator capable of producing high-quality test data in varying volumes and formats. Additionally, the Query Profiler tool enables comprehensive analysis and optimization of queries, thereby saving valuable time and resources.
Security Management
The dedicated module deals with user management configurations. The functionality provided by the software allows easy creation, editing, and management of user accounts and privileges.
Documenting and Reporting
With dbForge Edge, users can create detailed database documentation in various formats and with convenient navigation. The reporting module enables the summarization and analysis of data, presenting comprehensive reports with informative graphs, diagrams, and pivot tables.
dbForge Edge is not just a comprehensive IDE for MySQL and MariaDB – it goes far beyond that. It serves as an all-in-one solution for database experts who work with multiple database management systems, eliminating the need to assemble toolsets for each. With its extensive feature set, dbForge Edge empowers professionals to efficiently perform their tasks across diverse database environments.
This page is licensed: CC BY-SA / Gnu FDL
The MariaDB server's is a set of files containing "events" which represent modifications to the contents of a MariaDB database.
Prior to , the client was called mysqlbinlog
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.These events are written in a binary (i.e. non-human-readable) format. The mariadb-binlog utility is used to view these events in plain text.
Run from a command-line like this:
See for details on the available options.
Prior to , the client was called mysqlbinlog
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
As an example, here is how you could display the contents of a file named "mariadb-bin.000152":
The logging format is determined by the value of the system variable. If you are using statement-based logging, the output includes the SQL statement, the ID of the server the statement was executed on, a timestamp, and how much time the statement took to execute. If you are using row-based logging the output of an event will not include an SQL statement but will instead output how individual rows were changed.
The output from mariadb-binlog can be used as input to the mariadb client to redo the statements contained in a . This is useful for recovering after a server crash. Here is an example:
If you would like to view and possibly edit the file before applying it to your database, use the '-r' flag to redirect the output to a file:
You can then open the file and view it and delete any statements you don't want executed (such as an accidental DROP DATABASE). Once you are satisfied with the contents you can execute it with:
Be careful to process multiple log files in a single connection, especially if one or more of them have any CREATE TEMPORARY TABLE ...
statements. Temporary tables are dropped when the mariadb client terminates, so if you are processing multiple log files one at a time (i.e. multiple connections) and one log file creates a temporary table and then a subsequent log file refers to the table you will get an 'unknown table' error.
To execute multiple logfiles using a single connection, list them all on the mariadb-binlog command line:
If you need to manually edit the binlogs before executing them, combine them all into a single file before processing. Here is an example:
KS DB Merge Tools for MySQL and MariaDB is an easy to use diff & merge tool for MySQL and MariaDB databases allowing to compare and sync both schema and data. It is a Freemium application - many features are exposed in the Free version (available for commercial use), some extended features are available only in the paid Standard version (in many cases can be provided at no cost for open source developers).
Application has tabbed UI, there are several types of tabs responsible for particular application features and scope of tasks. Here are the primary application tabs:
It is a starting point to open databases. Shows summary about all database objects. Note that it does not provide information about data/content changes, only about object definitions.
This tab is also used as a starting point to manage diff profiles, making it easy to customize the tool for your specific database project. Here, you can save and reuse custom queries, mappings, and data slices, allowing you to create tailored data diff summaries.
Lists all objects of some particular type - tables, views, etc. Allows to identify whether some object is new, changed or unchanged (note that for tables and views it does not provide information about data/content changes, only about object definitions). Quick filters available to show only new/changed/new+changed objects. Here we can select required objects on one side and generate a synchronization script to merge these changes to the other side.
Compares data for particular table or view. Quick filters available to show only new/changed/new+changed rows. We can select required rows on one side and generate synchronization script to merge these changes to the other side
Compares definition of some particular database programming object like view or stored procedure.
Compares definition of particular table. Here we can select required changes and generate synchronization script for them. This tab is available only in the Standard version, the Free version is using Text diff tab to compare table definitions.
Allows to compare data for multiple tables and views, providing summary of data changes for the whole database. This tab is available only in the Standard version.
Compares arbitrary query results, it can be the same query running on both databases or different queries running on the same or different databases. This tab is available only in the Standard version.
The Standard version has support of own domain-specific scripting language designed to automate diff and merge tasks provided by GUI. In addition to the primary GUI, there is a Script Editor application designed to help in writing and troubleshooting scripts and a separate command line utility that is used to run these scripts without user interaction. For the most typical tasks the scripts can be generated just with a single button click on GUI which produces a script relevant for the data or objects you currently observe on UI.
This page is licensed: CC BY-SA / Gnu FDL
is a free multi-platform database tool for developers, SQL programmers, database administrators and analysts. It supports all popular relational databases: MySQL, MariaDB, PostgreSQL, SQLite, Oracle, DB2, SQL Server, Sybase, Teradata, Netezza, etc. Also, it supports NoSQL databases: MongoDB, Cassandra, Redis, Apache Hive, etc. in the Enterprise Edition version.
A brief list of basic features can be found below:
Data viewer and editor: sorting, filtering, image displaying, export of selected data and much more.
Metadata browser: possibility to view and edit existing tables, views, columns, indexes, procedures, triggers, storage entities (tablespaces, partitions, etc), security entities (users, roles, etc).
Data transfer: export and import for files in various formats (CSV, HTML, XML, XLS, XLSX).
ER diagrams: possibility to automatically generate ER diagrams for a database/schema (diagram will contain all schema tables) or for a single table and export the diagram in a suitable format.
SQL editor: possibility to organize all your scripts in folders, reassign database connections for particular scripts.
Data and metadata search: full-text data search using against all chosen tables/views.
Database structure comparing: possibility to perform objects structure compare.
DBeaver is actively developed and maintained. Usability is the main goal of this project, so program UI is carefully designed and implemented. Every user can send bug report and feature request on the .
This page is licensed: CC BY-SA / Gnu FDL
When testing the S3 storage engine with the s3 test suite, needs access to Amazon S3 compatible storage.
The easiest way to achieve this is to install , an open source S3 compatible storage.
Here is a shell script that you can use to install MinIO with the right credentials for . This should work on most Linux systems as the binaries are statically linked. You can alternatively download MinIO binaries directly from .
Now you can run the S3 test suite:
If there is an issue while running the test suite, you can see the files created by MinIO with:
or
If you want to use MinIO with different credentials or you want to run the test against another S3 storage you ave to update the update the following files:
This page is licensed: CC BY-SA / Gnu FDL
This can be used to set the MYSQL_OPT_CONNECT_TIMEOUT parameter of mysql_options, to change the number of seconds before an unsuccessful connection attempt times out.
enable_prepare_warnings;
disable_prepare_warnings;
Normally, when running with the prepared statement protocol with warnings enabled and executing a statement that returns a result set (like SELECT), warnings that occur during the execute phase are shown, but warnings that occur during the prepare phase are ''not'' shown. The reason for this is that some warnings are returned both during prepare and execute; if both copies of warnings were shown, then test cases would show different number of warnings between prepared statement execution and normal execution (where there is no prepare phase).
The enable_prepare_warnings
command changes this so that
warnings from both the prepare and execute phase are shown, regardless of
whether the statement produces a result set in the execute phase. Thedisable_prepare_warnings
command reverts to the default
behaviour.
These commands only have effect when running with the prepared statement protocol (--ps-protocol) and with warnings enabled (enable_warnings). Furthermore, they only have effects for statements that return a result set (as for statements without result sets, warnings from are always shown when warnings are enabled).
The replace_regex
command supports paired delimiters (like in perl, etc). If the first non-space character in the replace_regex
argument is one of (
, [
, {
, <
, then the pattern should end with )
, ]
, }
, >
accordingly. The replacement string can use its own pair of delimiters, not necessarily the same as the pattern. If the first non-space character in the replace_regex
argument is not one of the above, then it should also separate the pattern and the replacement string and it should end the replacement string. Backslash can be used to escape the current terminating character as usual. The examples below demonstrate valid usage of replace_regex
:
Sometimes it is only interesting to see the output of a utility to stdout/stderr, if utility failed. In case of success , the output might be unpredictable, and contain timestamps, startup messages etc. mariadb-backup can be a good example of such utility.
mysqltest in MariaDB can helps in this situation. In the example below, the output of $XTRABACKUP is suppressed, however if exec
fails, stdout and stderr both will be dumped , to aid diagnostics:
This page is licensed: CC BY-SA / Gnu FDL
mycli is a command line interface for MariaDB, MySQL, and Percona with auto-completion and syntax highlighting.
It is written in Python, and runs on Linux, Mac and Windows.
Read more at .
This page is licensed: CC BY-SA / Gnu FDL
# Where to install the MinIO binaries and where to store the data
install=/my/local/minio
data=/tmp/shared
# Get the MinIO binaries. You can skip this test if you already have MinIO installed.
mkdir -p $install
wget https://dl.min.io/server/minio/release/linux-amd64/minio -O $install/minio
wget https://dl.min.io/client/mc/release/linux-amd64/mc -O $install/mc
chmod a+x $install/minio $install/mc
# Setup MinIO for usage with mariadb-test-run
MINIO_ACCESS_KEY=minio MINIO_SECRET_KEY=minioadmin $install/minio server $data 2>&1 &
$install/mc config host add local http://127.0.0.1:9000 minio minioadmin
$install/mc mb --ignore-existing local/storage-engine
cd "mysql-source-dir"/mariadb-test
./mariadb-test-run --suite=s3
$install/mc ls -r local/storage-engine
ls $data/storage-engine
mariadb-test/suite/s3/my.cnf
mariadb-test/suite/s3/slave.cnf
--connect-timeout=N
--replace_regex (/some/path)</another/path>
--replace_regex !/foo/bar!foobar!
--replace_regex {pat\}tern}/replace\/ment/i
--disable_result_log
exec $XTRABACKUP --param1 --param2 # Note, do not use output redirection here
--enable_result_log
Sometimes you need to work when your computer is busy running mariadb-test-run.pl. The mariadb-test-run.pl script allows you to stop it temporarily so you can use your computer and then restart the tests when you're ready.
There are two ways to enable this:
Command-line: The --stop-file
and--stop-keep-alive
options.
Environment Variables: If you are calling mariadb-test-run.pl indirectly
(i.e from a script or program such as buildbot) you can setMTR_STOP_FILE
and MTR_STOP_KEEP_ALIVE
.
If you plan on using this feature with other programs, such as buildbot, you should set the MTR_STOP_KEEP_ALIVE
environment variable or the --stop-keep-alive
command-line option with a value in seconds. This will make the script print messages to whatever program is calling mariadb-test-run.pl at the interval you set to prevent timeouts.
If you are calling mariadb-test-run.pl directly, you do not need to specify a timeout.
The stop file is a temporary file that you create on your system when you want to pause the execution of mariadb-test-run. When enabled via the command-line or environment variable options, mariadb-test-run will periodically check for the existence of the file and if it exists it will stop until the file is no longer present.
Command-line:
mariadb-test-run.pl --stop-file="/path/to/stop/file" --stop-keep-alive=120
Environment Variables:
export MTR_STOP_FILE="/path/to/stop/file"
export MTR_STOP_KEEP_ALIVE=120
mariadb-test-run.pl
This page is licensed: CC BY-SA / Gnu FDL
mariadb-dumpslow [ options... ] [ logs... ]
-a
Don't abstract all numbers to N and strings to 'S'
-d, --debug
Debug
-g PATTERN
Grep: only consider statements that include this string
--help
Display help
-h HOSTNAME
Hostname of db server for -slow.log filename (can be wildcard), default is '', i.e. match all
-i NAME
Name of server instance (if using mysql.server startup script)
-l
Don't subtract lock time from total time
-n NUM
Abstract numbers with at least NUM digits within names
-r
Reverse the sort order (largest last instead of first)
-s ORDER
What to sort by (aa, ae, al, ar, at, a, c, e, l, r, t). at is default. aa average rows affected ae aggregated number of rows examined al average lock time ar average rows sent at average query time a rows affected c count e rows examined l lock time r rows sent t query time
-t NUM
Just show the top NUM queries.
-v, --verbose
Verbose mode.
mariadb-binlog [options] log_file ...
mariadb-binlog mariadb-bin.000152
mariadb-binlog binlog-filenames | mysql -u root -p
mariadb-binlog -r filename binlog-filenames
mariadb -u root -p --binary-mode < filename
mariadb-binlog mariadb-bin.000001 mariadb-bin.000002 | mariadb -u root -p --binary-mode
mariadb-binlog mariadb-bin.000001 > /tmp/mariadb-bin.sql
mariadb-binlog mariadb-bin.000002 >> /tmp/mariadb-bin.sql
# make any edits
mariadb -u root -p -e "source /tmp/mariadb-bin.sql"
dbForge Documenter is a useful tool for the MariaDB database that allows for the automatic generation of database documentation in such formats as HTML, PDF, and Markdown. Users can adjust the created documentation with a great variety of options.
Get the benefits of the search as you type principle
View the highlighted matching text after entering the name of a required object in the search field
MariaDB server versions 5.5-11.4
Various cloud services: Amazon RDS, Amazon Aurora, Google Cloud, Oracle MySQL Cloud, Alibaba Cloud
Security connections: Secure Socket Layer (SSL), Secure Shell (SSH), HTTP Tunneling, PAM Percona
Get the detailed MariaDB database information, such as types, details, and properties of the objects, inter-object dependencies, and DDL codes
Enjoy various style templates allowing for alteration of documentation layout
HTML and PDF (searchable formats)
Markdown
Edit an object description or add it if it is not specified
Download a free 30-day trial of dbForge Documenter for MariaDB and MySQL here.
dbForge Documenter 10.1
Support for the rds-ca-rsa2048-g1 SSL/TLS certificate for connecting to MariaDB servers on AWS and enhanced cloud compatibility features, new automation capabilities
dbForge Documenter 10.0
Support for , Added support for temporal tables in MariaDB
dbForge Documenter 2.2
Support for
dbForge Documenter 2.1
Support for , Support for
dbForge Documenter 2.0
Connectivity support for is added
dbForge Documenter 1.2
Support for
dbForge Documenter 1.1
Support for
This page is licensed: CC BY-SA / Gnu FDL
MariaDB Direct Query Adapter for Power BI enables Microsoft Power BI Desktop users to remotely connect to and query their MariaDB database including on MariaDB SkySQL without downloading the entire data set to their local machine.
MariaDB Direct Query Adapter is a Microsoft certified connector for Microsoft Power BI Desktop.
Microsoft Power BI Desktop is a free business intelligence tool available as a downloadable desktop client. Built for analysts, Microsoft Power BI provides state-of-the-art interactive visualizations, with industry-leading data query and modeling built-in. It is one of the top business intelligence tools in use globally.
MariaDB database products support analytics and data warehousing in addition to transactional databases. Customers can meet the challenges from complex workloads using a single stack. MariaDB Enterprise Server includes pluggable smart storage engines to meet specific workload needs and connectors for high-performance data access by applications.
is a columnar storage engine designed to handle the extremely large data sets and ad hoc queries of analytical workloads. Data is written to disk by column rather than row and is automatically partitioned. Columnar data storage is designed to deliver real time analysis on billions of rows. MariaDB Enterprise ColumnStore is a plugin storage engine and is included with MariaDB Enterprise Server.
MariaDB Direct Query Adapter enables Power BI users to work with remote data without the need to download it onto the local machine. Downloading analytical data sets can present challenges such as download speed and inadequate memory on a local machine, and even a powerful laptop or desktop will be outperformed by the processing power of a high end server or MPP system. MariaDB's Direct Query Adapter enables users to avoid these limitations and provides robust querying and data visualization from any location.
MariaDB Direct Query Adapter for Microsoft Power BI requires:
To use MariaDB Direct Query Adapter with Microsoft Power BI Desktop:
Download Microsoft Power BI Desktop using the Microsoft instructions.
Download MariaDB ODBC Connector.
Select MariaDB ODBC Connector v3.1.10 or later for MS Windows 64-bit.
Click on the download or choose "Open" to start the MariaDB ODBC Connector 64-bit Setup Wizard.
Click "Next".
Read and accept the terms and agreement.
Click "Next".
Choose "Typical" for installation type and click "Install".
When asked if you want to allow this app to makes changes to your device, click "Yes".
If you have older versions of MariaDB ODBC Connector 64-bit, select "Make User DSN's for older Connector version to use this version" and click "Finish". Otherwise, just click "Finish".
Connect to your remote MariaDB database from Power BI Desktop using the MariaDB Direct Query Adapter.
Open Microsoft Power BI Desktop.
From the Power BI home screen, choose Get Data->More. Enter "MariaDB". Select MariaDB from the menu and click "Connect".
Enter the data source. This will be an IP address and port number, or in the case of SkySQL, it will be the qualified domain name and port number.
Select "DirectQuery" and click "OK".
Enter your user name and password and click "Connect".
You are now connected to your remote MariaDB database and can use Microsoft Power BI to run queries without the need to download the data locally.
The MariaDB Direct Query Adapter for Power BI interacts with the SQL layer. It is upstream of the storage engine, so queries can be done regardless of the underlying storage engine.
For example, MariaDB Direct Query Adapter for Microsoft Power BI can be used to query data on a row-based transactional database using the InnoDB storage engines or a column-based data warehouse using the MariaDB Enterprise ColumnStore storage engine to deliver real time analysis of billions of rows of data.
Power BI depends on relationships for data analysis. These relationships are automatically established for row-based databases, for example those using the InnoDB storage engine.
Because column-based storage engines such as MariaDB Enterprise ColumnStore do not use indexes, relationships must be set up manually. For more about creating relationships in Power BI see Create and Manage Relationships in Power BI.
This page is: Copyright © 2025 MariaDB. All rights reserved.
mariadb-convert-table-format
converts the tables in a database to use a particular storage engine (MyISAM by default).
Prior to , the client was called mysql_convert_table_format
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
mariadb-convert-table-format [options] db_name
mariadb-convert-table-format
is written in Perl and requires that the DBI and DBD::mysql Perl modules be installed
Invoke mariadb-convert-table-format
like this:
shell> mariadb-convert-table-format [options]db_name
The db_name
argument indicates the database containing the tables to be converted.
mariadb-convert-table-format
supports the options described in the following list:
-?, --help
Display help and exit.
-e, --engine=ENGINE
Specify the storage engine that the tables should be converted to use. The default is if this option is not given.
-f, --force
Continue even if errors occur.
-h, --host=host_name
Connect to the MariaDB server on the given host. Default localhost.
-p, --password=password
The password to use when connecting to the server. Note that the password value is not optional for this option, unlike for other client programs. Specifying the password on the command-line is generally considered insecure.
-P, --port=port_num
The TCP/IP port number to use for the connection.
-S, --socket=path
For connections to localhost, the Unix socket file to use.
-u, --user=user_name
The MariaDB user name to use when connecting to the server.
-v, --verbose
Verbose mode. Print more information about what the program does.
-V, --version
Display version information and exit.
This page is licensed: CC BY-SA / Gnu FDL
is a powerful solution that helps create massive volumes of meaningful and realistic data. This tool performs various predefined data generators with customizable options.
Enjoy the advantage of various data types support
Enjoy multiple customization options with individual generators for every data type supported
Generate consistent random data through multiple tables
Disable triggers and constraints to avoid interference with database logic
Fine-tune the way you want your data to be generated
Generate a data population script, execute it against a MariaDB database, save or edit it later
Populate tables with a great variety of values types, like JSON, Python, XML, etc.
Select any of 200+ real-world generators and populate tables with realistic data related to various spheres
Create, save and use your own data generators tailored for your needs
Enjoy real-time visualization of the alterations you make
Visually assess the data to be generated
Schedule your routine data generation tasks
Create a command-line execution file for running database documentation tasks
MariaDB server versions 5.5-11.4
Various cloud services: Amazon RDS, Amazon Aurora, Google Cloud, Oracle MySQL Cloud, Alibaba Cloud
Security connections: Secure Socket Layer (SSL), Secure Shell (SSH), HTTP Tunneling, PAM Percona
Download a free 30-day trial of dbForge Data Generator .
This page is licensed: CC BY-SA / Gnu FDL
mariadb-stress-test
is a symlink to mysql-stress-test
, the script for assisting with adding users or databases or changing passwords in MariaDB.
mysql-stress-test
is the symlink, and mariadb-stress-test
the binary name.
mysql-stress-test
is the binary name.
mariadb-stress-test.pl is a Perl script that performs stress-testing of the MariaDB server. It requires a version of Perl that has been built with threads support.
mariadb-stress-test.pl [options]
--help
Display a help message and exit.
--abort-on-error=N
Causes the program to abort if an error with severity less than or equal to N was encountered. Set to 1 to abort on any error.
--check-tests-file
Periodically check the file that lists the tests to be run. If it has been modified, reread the file. This can be useful if you update the list of tests to be run during a stress test.
--cleanup
Force cleanup of the working directory.
--log-error-details
Log error details in the global error log file.
--loop-count=N
In sequential test mode, the number of loops to execute before exiting.
--mysqltest=path
The path name to the mysqltest program.
--server-database=db_name
The database to use for the tests. The default is test.
--server-host=host_name
he host name of the local host to use for making a TCP/IP connection to the local server. By default, the connection is made to localhost using a Unix socket file.
--server-logs-dir=path
This option is required. path is the directory where all client session logs will be stored. Usually this is the shared directory that is associated with the server used for testing.
--server-password=password
The password to use when connecting to the server.
--server-port=port_num
The TCP/IP port number to use for connecting to the server. The default is 3306.
--server-socket=file_name
For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. The default is /tmp/mysql.sock.
--server-user=user_name
The MariaDB user name to use when connecting to the server. The default is root.
--sleep-time=N
The delay in seconds between test executions.
--stress-basedir=path
This option is required and specified the path is the working directory for the test run. It is used as the temporary location for result tracking during testing.
--stress-datadir=path
The directory of data files to be used during testing. The default location is the data directory under the location given by the --stress-suite-basedir option.
--stress-init-file[=path]
file_name is the location of the file that contains the list of tests to be run once to initialize the database for the testing. If missing, the default file is stress_init.txt in the test suite directory.
--stress-mode=mode
This option indicates the test order in stress-test mode. The mode value is either random to select tests in random order or seq to run tests in each thread in the order specified in the test list file. The default mode is random.
--stress-suite-basedir=path
This option is required and specifies the directory that has the t and r subdirectories containing the test case and result files. This directory is also the default location of the stress-test.txt file that contains the list of tests. (A different location can be specified with the --stress-tests-file option.)
--stress-tests-file[=file_name]
Use this option to run the stress tests. file_name is the location of the file that contains the list of tests. If omitted, the default file is stress-test.txt in the stress suite directory. (See --stress-suite-basedir.)
--suite=suite_name
Run the named test suite. The default name is main (the regular test suite located in the mysql-test directory).
--test-count=N
The number of tests to execute before exiting.
--test-duration=N
The duration of stress testing in seconds.
--threads=N
The number of threads. The default is 1.
--verbose
Verbose mode. Print more information about what the program does
CC BY-SA / Gnu FDL
dbForge Data Generator 10.1
Support for the rds-ca-rsa2048-g1 SSL/TLS certificate for connecting to MariaDB servers on AWS and enhanced cloud compatibility features, new automation capabilities
dbForge Data Generator 10.0
Support for , Added support for temporal tables in MariaDB
dbForge Data Generator 2.6
Support for
dbForge Data Generator 2.5
Support for , Support for
dbForge Data Generator 2.4
Connectivity support for is added
dbForge Data Generator 2.2
Support for
dbForge Data Generator 2.1
Support for
dbForge Data Generator 2.0
Support for , Support for
dbForge Data Compare helps compare and synchronize data in MariaDB, MySQL, and Percona databases and scripts folders. With this powerful GIU tool, you can easily find differences between your data, as it helps analyze comparison results, creates a synchronization script, and applies changes. Plus, MariaDB data can be compared with command-line support.
Create accurate synchronization scripts
Synchronize asynchronous data
Create custom scripts with execution before/after the process of data synchronization
Get warning messages on errors during synchronization
Automate routine synchronizations with a command-line interface
Plan your routine execution with Windows Scheduler
Support for PowerShell compatibility
Compare data from your database with the data placed in the script folder locally
Choose any database, connection, or script folder with the new Data Comparison Wizard
See the data comparison results in a data result grid
Enjoy various options for automatic mapping
Compare customized queries
Compare custom keys
Tables
Temporal tables
Views
BLOB data
Compare databases and sync different MariaDB versions
All popular MariaDB server versions
MariaDB set up on Windows, Linux, FreeBSD, etc.
Various cloud services: Amazon RDS, Amazon Aurora, Google Cloud, Oracle MySQL Cloud, Alibaba Cloud
Secure Socket Layer (SSL), Secure Shell (SSH), HTTP Tunneling, PAM Percona security connections
Find tables by name
Filter the comparison process results
Enter the values of default comparison options
Group records by type in each compared object
Use only relevant data in your reports
Generate comparison reports in various formats
Download a free 30-day trial of dbForge Data Compare here.
dbForge Data Compare 10.1
Support for the rds-ca-rsa2048-g1 SSL/TLS certificate for connecting to MariaDB servers on AWS and enhanced cloud compatibility features, new automation capabilities
dbForge Data Compare 10.0
Support for , Added support for temporal tables in MariaDB
dbForge Data Compare 5.9
Support for
dbForge Data Compare 5.8
Support for , Support for
dbForge Data Compare 5.7
Connectivity support for is added
dbForge Data Compare 5.5
Support for
dbForge Data Compare 5.4
Support for
dbForge Data Compare 5.3
Support for , Support for
dbForge Data Compare 4.1
,
This page is licensed: CC BY-SA / Gnu FDL
dbForge Schema Compare is an efficient solution that allows for the comparison of the MariaDB database structure. With this tool, you can easily find the differences in MariaDB database schemas.
Update MariaDB schemas by generating accurate synchronization scripts
Preview sync scripts for any schema objects
Customize the synchronization output with various options
Get warnings on possible errors while synchronization
Sync asynchronous structure
Enjoy the advantages of MariaDB backup and restore Wizards
Have a full or partial backup
Restore database and schedule backups with a command-line interface
Support for databases over 2Gb
Compare the data both in two different databases and the database data with the data placed locally
Choose any connection and script folder stored locally with the new Data Comparison Wizard
View the comparison process results in a data grid
Sync and compare database schemas with command-line support
Use the Windows Scheduler to automate the sync processes
Run synchronization and schema comparison tasks with command-line execution files
Packages
Sequences
Filter the types of objects before the comparison
Dismiss particular table options while comparing
Use the Schema Comparison Wizard for switching between the Target and Source databases
Sort and filter the compared objects
Get a clear view of MariaDB and MySQL schema diffs in the grid.
Manage groups of compared objects
Generate comparison results reports in HTML, Excel XML, XML for Excel
Include specifically selected objects in your comparison report
MariaDB server versions 5.5-11.4
All MariaDB instances set up on Windows, Linux, FreeBSD, etc.
Various cloud services: Amazon RDS, Amazon Aurora, Google Cloud, Oracle MySQL Cloud, Alibaba Cloud
Security connections: Secure Socket Layer (SSL), Secure Shell (SSH), HTTP Tunneling, PAM Percona
Download a free 30-day trial of dbForge MariaDB and MySQL Schema Compare here.
dbForge Schema Compare 10.1
Support for the rds-ca-rsa2048-g1 SSL/TLS certificate for connecting to MariaDB servers on AWS and enhanced cloud compatibility features, new automation capabilities
dbForge Schema Compare 10.0
, Added support for temporal tables in MariaDB
dbForge Schema Compare 5.2
dbForge Schema Compare 5.1
,
dbForge Schema Compare 5.0
dbForge Schema Compare 4.4
dbForge Schema Compare 4.3
dbForge Schema Compare 4.2
,
dbForge Schema Compare 3.1
,
This page is licensed: CC BY-SA / Gnu FDL
icon: question
aria_chk
is used to check, repair, optimize, sort and get information about tables.
With the MariaDB server you can use , and to do similar things.
Note: aria_chk
should not be used when MariaDB is running. MariaDB assumes that no one is changing the tables it's using!
Usage:
Aria table information is stored in 2 files: the .MAI
file contains base
table information and the index and the .MAD
file contains the data.aria_chk
takes one or more .MAI
files as arguments.
The following groups are read from the my.cnf files:
[maria_chk]
[aria_chk]
Global Options
The following options to handle option files may be given as the first argument:
Main Arguments
Check Options (--check is the Default Action for aria_chk):
Recover (Repair) Options (When Using '--recover' or '--safe-recover'):
Other Options
Variables
One main usage of aria_chk
is when you want to do a fast check of all Aria
tables in your system. This is faster than doing it in MariaDB as you can
allocate all free memory to the buffers.
Assuming you have a bit more than 2G free memory.
The following commands, run in the MariaDB data directory, check all your tables and repairs only those that have an error:
If you want to optimize all your tables: (The --zerofill
is
used here to fill up empty space with \0
which can speed up compressed backups).
In case you have a serious problem and have to use --safe-recover
:
This page is licensed: CC BY-SA / Gnu FDL
mariadb-upgrade
is a tool that checks and updates your tables to the latest version.
Prior to , the client was called mysql_upgrade
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
You should run mariadb-upgrade
after upgrading from one major MySQL/MariaDB release to another, such as or to . You also have to use mariadb-upgrade
after a direct "horizontal" migration, for example from MySQL 5.5.40 to . It's also safe to run mariadb-upgrade
for minor upgrades, as if there are no incompatibilities nothing is changed.
It needs to be run as a user with write access to the data directory.
MariaDB starting with
Starting from mariadb-upgrade
2.0, the user running the upgrade tool must have write access to datadir/mysql_upgrade_info
, so that the tool can write the current MariaDB version into the file. mariadb-upgrade
(or mysql_upgrade
) was updated in , , , , , and newer.
mariadb-upgrade
is run after starting the new MariaDB server. Running it before you shut down the old version will not hurt anything and will allow you to make sure it works and figure out authentication for it ahead of time.
It is recommended to make a of all the databases before running mariadb-upgrade
.
In most cases, mariadb-upgrade
should just take a few seconds. The main work of mariadb-upgrade
is to:
Update the system tables in the mysql
database to the latest version (normally just add new fields to a few tables).
Check that all tables are up to date (runs ). For tables that are not up to date, runs on the table to update it. A table is not up to date if:
The table uses an index for which there has been a change (rare)
A format change in the storage engine requires an update (very rare)
mariadb-upgrade
is mainly a framework to call . mariadb-upgrade
works by doing the following operations:
The connect options given to mariadb-upgrade
are passed along to and .
The mysql_fix_privilege_tables
script is not actually called; it's included as part of mariadb-upgrade
If you have a problem with mariadb-upgrade
try run it in very verbose mode:
mariadb-upgrade
also saves the MariaDB version number in a file named mysql_upgrade_info
in the . This is used to quickly check whether all tables have been checked for this release so that table-checking can be skipped. For this reason,mariadb-upgrade
needs to be run as a user with write access to the data directory. To ignore this file and perform the check regardless, use the --force
option.
mariadb-upgrade
supports the following options:
mariadb-upgrate/mysql_upgrade 2.0
was introduced in , , , , , .
Previously the tool first ran the upgrade process and then created the datadir/mysql_upgrade_info
file. If the file could not be created because of permissions (mariadb-upgrade
did not have rights to create the file), mariadb-upgrad
gave an error, but this was often ignored.
One effect of not being able to create the mysql_upgrade_info
file was that every new mariadb-upgrade
run would have to do a full upgrade check, which can take a while if there are a lot of tables.
mariadb-upgrade
2.0 fixes the following issues:
The datadir/mysql_upgrade_info
is now created at the start of the upgrade process and locked. This ensures that two mariadb-upgrade
processes cannot be run in parallel, which can cause deadlocks (). One side-effect of this is that mariadb-upgrade
has to have write access to datadir
, which means it has to be run as the user that installed MariaDB, normally 'mysql' or 'root' .
One can use mariadb-upgrade --force --force
to force the upgrade to be run, even if there was no version change or if one doesn't have write access to datadir
. Note that if this option is used, the next mariadb-upgrade
run will assume that there is a major version change and the upgrade must be done (again).
The upgrade will only be done if there is a major server version change (10.4.X -> 10.5.X). This will avoid unnecessary upgrades.
New option added: --check-if-upgrade-is-needed
. If this is used, mariadb-upgrade
will return 0 if there has been a major version change and one should run mariadb-upgrade
. If not upgrade is need, 1 will be returned.
--verbose
writes more information, including from which version to which version the upgrade will be done.
Better messages when there is no need to run mariadb-upgrade
.
In addition to reading options from the command-line, mariadb-upgrade
can also read options from . If an unknown option is provided to mariadb-upgrade
in an option file, then it is ignored.
The following options relate to how MariaDB command-line tools handles option files. They must be given as the first argument on the command-line:
In and later, mariadb-upgrade
is linked with . However, MariaDB Connector/C does not yet handle the parsing of option files for this client. That is still performed by the server option file parsing code. See for more information.
Option Groups
mariadb-upgrade
reads options from the following from :
This is as of :
MariaDB will convert long properly.
MariaDB will convert tables (no need to do a dump/restore or ).
MariaDB will convert old archive tables to the new 5.1 format.
"mysql_upgrade --verbose" will run "mariadb-check --verbose" so that you get more information of what is happening. Running with 3 times --verbose will in print out all CHECK, RENAME and ALTER TABLE commands executed.
The is upgraded live; no need to restart the server to use events if the event table has changed ( and ).
More descriptive output.
If you are sure that all your tables are up to date with the current version, then you can run mariadb-upgrade ---upgrade-system-tables
, which will only fix your system tables in the mysql database to be compatible with the latest version.
The main reason to run mariadb-upgrade
on all your tables is to allow it to check that:
There has not been any change in table formats between versions.
This has not happened since .
If some of the tables are using an index for which we have changed sort order.
This has not happened since .
If you are 100% sure this applies to you, you can just run mariadb-upgrade
with the ---upgrade-system-tables
option.
Errors in the that some system tables don't have all needed columns.
Updates or searches may not find the record they are attempting to update or search for.
may report the wrong checksum for or tables.
The error message "Cannot load from mysql.proc. The table is probably corrupted."
To fix issues like this, run mariadb-upgrade
, , and if needed on the wrong table.
mariadb-upgrade
will re-create any missing tables in the . It will not touch any data in existing tables.
This page is licensed: CC BY-SA / Gnu FDL
is a powerful visual tool that helps create any sort of MariaDB queries. Building a code has never been so easy – the query can be drawn on a diagram.
Export your data to 14 popular formats
Export data from several tables simultaneously
Create templates for repeated operations
Work with multiple database connections
Easy MariaDB query management with drag&drop functionality
Quick script generation
Enjoy zooming and keyboard support in a sophisticated diagram
Preview and print diagrams
Add and edit sub-queries visually
MariaDB JOINs generator
Check the syntax automatically
Get quick information about schema objects
Customize formatting profiles
Execute scripts, statements and MariaDB fragments seamlessly
Compare the results of the query visually
Review and evaluate a query plan shown in the tree view
Get the detailed query information
Enjoy advanced data filters
Browse and edit large objects in Data Viewer and Editor windows
Fetch asynchronous data
Data Report wizard supports building Data Reports and customizing them with a rich set of controls.
Allows users to view and analyze the data of several related database objects in a master-detail structured document. Edit data, build relationships, filter data based on specific criteria, sort data, etc. in the Design and Data views.
Let the user manipulate the data visually, including sorting, grouping, or filtering fields, building charts, and calculating totals.
Download a free 30-day trial of dbForge Query Builder for MariaDB and MySQL .
This page is licensed: CC BY-SA / Gnu FDL
MariaDB Enterprise Server users can import data into a database using the mariadb-import utility:
The mariadb-import utility provides a command-line interface (CLI)
The mariadb-import utility can import data from TSV and CSV files
The mariadb-import utility is available for Linux and Windows
The mariadb-import utility supports many command-line options
Installation of MariaDB Import varies by operating system.
Configure a MariaDB repository.
Before MariaDB Import can be installed on Linux, a MariaDB repository must be configured. MariaDB Corporation offers multiple repositories: **For MariaDB Corporation customers, the MariaDB Enterprise Repository is available.**For anyone else, the MariaDB Community Repository is publicly available.
For additional information on how to configure a MariaDB repository, see "Configure MariaDB Repository".
Install MariaDB Import and package dependencies.
Install on CentOS / RHEL / Rocky Linux (YUM):
Install on Debian / Ubuntu (APT):
Install on SLES (ZYpp):
Access for MariaDB Community Server.
In the "Version" dropdown, select the version you want to download.
In the "OS" dropdown, select "MS Windows (64-bit)".
Click the "Download" button to download the MSI package.
When the MSI package finishes downloading, run it.
On the first screen, click "Next" to start the Setup Wizard.
On the second screen, click the license agreement checkbox, and then click "Next".
On the third screen, select the components you want to install. If you only want the standard MariaDB Client tools:
Deselect "Database instance".
Deselect "Backup utilities".
Deselect "Development Components".
Deselect "Third party tools".
When only "Client programs" is selected, click "Next".
On the next screen, click "Install".
When the installation process completes, click "Finish".
The procedure to import data depends on the operating system.
Determine the connection parameters for your MariaDB Enterprise Server database.
Use MariaDB Import with the connection information to import the data from the TSV or CSV file into your MariaDB Enterprise Server database:
Replace FULLY_QUALIFIED_DOMAIN_NAME
with the IP address or Fully Qualified Domain Name of your database Replace TCP_PORT
with the TCP port of your databaseReplace DATABASE_USER
with the username for your database user account If TLS is required, replace /PATH_TO_PEM_FILE
with the path to the certificate authority chain (.pem) fileIf your file is a CSV file, rather than a TSV file, specify --fields-terminated-by=
, Specify the database name as the first argument (from above, accounts)The table name is extracted from the TSV or CSV file's basename (from above, contacts)
After the command is executed, you will be prompted for the password of your database user account.
Fix your executable search path.
On Windows, MariaDB Import is not typically found in the executable search path by default. You must find its installation path, and add that path to the executable search path:
Determine the connection parameters for your MariaDB Enterprise Server database.
Use MariaDB Import with the connection information to import the data from the TSV or CSV file into your MariaDB Enterprise Server database:
Replace FULLY_QUALIFIED_DOMAIN_NAME
with the IP address or Fully Qualified Domain Name of your database Replace TCP_PORT
with the TCP port of your databaseReplace DATABASE_USER
with the username for your database user account Replace /PATH_TO_PEM_FILE
with the path to the certificate authority chain (.pem) fileIf your file is a CSV file, rather than a TSV file, specify --fields-terminated-by=, Specify the database name as the first argument (from above, accounts)The table name is extracted from the TSV or CSV file's basename (from above, contacts)
After the command is executed, you will be prompted for the password of your database user account.
The instructions provided above are written for MariaDB Import 10.4 and later, which uses the binary filename of mariadb-import
.
This page is: Copyright © 2025 MariaDB. All rights reserved.
aria_chk [OPTIONS] aria_tables[.MAI]
--print-defaults
Print the program argument list and exit.
--no-defaults
Don't read default options from any option file.
--defaults-file=#
Only read default options from the given file #.
--defaults-extra-file=#
Read this file after the global files are read.
-#, --debug=...
Output debug log. Often this is 'd:t:o,filename'.
-H, --HELP
Display this help and exit.
-?, --help
Display this help and exit.
--datadir=path
Path for control file (and logs if --logdir not used).
--ignore-control-file
Don't open the control file. Only use this if you are sure the tables are not used by another program
--logdir=path
Path for log files.
--require-control-file
Abort if we can't find/read the maria_log_control file
-s, --silent
Only print errors. One can use two -s to make aria_chk very silent.
-t, --tmpdir=path
Path for temporary files. Multiple paths can be specified, separated by colon (:) on Unix or semicolon (;) on Windows. They will be used in a round-robin fashion.
-v, --verbose
Print more information. This can be used with --description and --check. Use many -v for more verbosity.
-V, --version
Print version and exit.
-w, --wait
Wait if table is locked.
-c, --check
Check table for errors.
-e, --extend-check
Check the table VERY throughly. Only use this in extreme cases as aria_chk should normally be able to find out if the table is ok even without this switch.
-F, --fast
Check only tables that haven't been closed properly.
-C, --check-only-changed
Check only tables that have changed since last check.
-f, --force
Restart with '-r' if there are any errors in the table. States will be updated as with '--update-state'.
-i, --information
Print statistics information about table that is checked.
-m, --medium-check
Faster than extend-check, and finds 99.99% of all errors. Should be good enough for most cases.
-U, --update-state
Mark tables as crashed if any errors were found and clean if check didn't find any errors but table was marked as 'not clean' before. This allows one to get rid of warnings like 'table not properly closed'. If table was updated, update also the timestamp for when the check was made. This option is on by default! Use --skip-update-state to disable.
-T, --read-only
Don't mark table as checked.
-B, --backup
Make a backup of the .MAD file as 'filename-time.BAK'.
--correct-checksum
Correct checksum information for table.
-D, --data-file-length=#
Max length of data file (when recreating data file when it's full).
-e, --extend-check
Try to recover every possible row from the data file Normally this will also find a lot of garbage rows; Don't use this option if you are not totally desperate.
-f, --force
Overwrite old temporary files.
-k, --keys-used=#
Tell MARIA to update only some specific keys. ## is a bit mask of which keys to use. This can be used to get faster inserts.
--max-record-length=#
Skip rows bigger than this if aria_chk can't allocate memory to hold it.
-r, --recover
Can fix almost anything except unique keys that aren't unique.
-n, --sort-recover
Forces recovering with sorting even if the temporary file would be very big.
-p, --parallel-recover
Uses the same technique as '-r' and '-n', but creates all the keys in parallel, in different threads.
-o, --safe-recover
Uses old recovery method; Slower than '-r' but can handle a couple of cases where '-r' reports that it can't fix the data file.
--transaction-log
Log repair command to transaction log. This is needed if one wants to use the maria_read_log to repeat the repair.
--character-sets-dir=...
Directory where character sets are.
--set-collation=name
Change the collation used by the index.
-q, --quick
Faster repair by not modifying the data file. One can give a second '-q' to force aria_chk to modify the original datafile in case of duplicate keys. NOTE: Tables where the data file is currupted can't be fixed with this option.
-u, --unpack
Unpack file packed with aria_pack.
-a, --analyze
Analyze distribution of keys. Will make some joins in MariaDB faster. You can check the calculated distribution by using '--description --verbose table_name'.
--stats_method=name
Specifies how index statistics collection code should treat NULLs. Possible values of name are "nulls_unequal" (default for 4.1/5.0), "nulls_equal" (emulate 4.0), and "nulls_ignored".
-d, --description
Prints some information about table.
-A, --set-auto-increment[=value]
Force auto_increment to start at this or higher value If no value is given, then sets the next auto_increment value to the highest used value for the auto key + 1.
-S, --sort-index
Sort index blocks. This speeds up 'read-next' in applications.
-R, --sort-records=#
Sort records according to an index. This makes your data much more localized and may speed up things (It may be VERY slow to do a sort the first time!).
-b, --block-search=#
Find a record, a block at given offset belongs to.
-z, --zerofill
Remove transaction id's from the data and index files and fills empty space in the data and index files with zeroes. Zerofilling makes it possible to move the table from one system to another without the server having to do an automatic zerofill. It also allows one to compress the tables better if one want to archive them.
--zerofill-keep-lsn
Like --zerofill but does not zero out LSN of data/index pages.
page_buffer_size
Size of page buffer. Used by --safe-repair
read_buffer_size
Read buffer size for sequential reads during scanning
write_buffer_size
Write buffer size for sequential writes during repair of fixed size or dynamic size rows
sort_buffer_size
Size of sort buffer. Used by --recover
sort_key_blocks
Internal buffer for sorting keys; Don't touch :)
aria_chk --check --sort_order --force --sort_buffer_size=1G */*.MAI
aria_chk --analyze --sort-index --page_buffer_size=1G --zerofill */*.MAI
aria_chk --safe-recover --zerofill --page_buffer_size=2G */*.MAI
$ sudo yum install MariaDB-client
$ sudo apt install mariadb-client
$ sudo zypper install MariaDB-client
$ mariadb-import --host FULLY_QUALIFIED_DOMAIN_NAME --port TCP_PORT \
--user DATABASE_USER --password \
--ssl-verify-server-cert \
--ssl-ca ~/PATH_TO_PEM_FILE \
--local \
--ignore-lines=1 \
accounts contacts.tsv
$ SET "PATH=C:\Program Files\MariaDB 10.6\bin;%PATH%"
$ mariadb-import --host FULLY_QUALIFIED_DOMAIN_NAME --port TCP_PORT \
--user DATABASE_USER --password \
--ssl-verify-server-cert \
--ssl-ca ~/PATH_TO_PEM_FILE \
--local \
--ignore-lines=1 \
accounts contacts.tsv
mariadb-upgrade [--force] [--user=# --password=#
--host=hostname --port=# --socket=#
--protocol=tcp|socket|pipe|memory
--verbose] [OTHER_OPTIONS]
# Find out path to datadir
echo "show variables like 'datadir'" | mysql
mariadb-check --no-defaults --check-upgrade --auto-repair --databases mysql
mysql_fix_privilege_tables
mariadb-check --no-defaults --all-databases --fix-db-names --fix-table-names
mariadb-check --no-defaults --check-upgrade --all-databases --auto-repair
mariadb-upgrade --verbose --verbose other-options
-?, --help
Display this help message and exit.
--basedir=path
Old option accepted for backward compatibility but ignored.
--character-sets-dir=path
Old option accepted for backward compatibility but ignored.
check-if-upgrade-is-needed
Do a quick check if upgrade is needed. Returns 0 if yes, 1 if no. From version 2.0.
--compress=name
Old option accepted for backward compatibility but ignored.
--datadir=name
Old option accepted for backward compatibility but ignored.
## [name], --debug[=name]
For debug builds, output debug log.
--debug-check
Check memory and open file usage at exit.
-T, --debug-info
Print some debug info at exit.
--default-character-set=name
Old option accepted for backward compatibility but ignored.
-f, --force
Force execution of mariadb-check even if mariadb-upgrade has already been executed for the current version of MariaDB. Ignores mysql_upgrade_info.
-h, --host=name
Connect to MariaDB on the given host.
-p, --password[=name]
Password to use when connecting to server. If password is not given, it's solicited on the command line (which should be considered insecure). You can use an option file to avoid giving the password on the command line.
-P, --port=name
Port number to use for connection or 0 for default to, in order of preference, my.cnf, the MYSQL_TCP_PORT environment variable, /etc/services, built-in default (3306).
--protocol=name
The protocol to use for connection (tcp, socket, pipe, memory).
--silent
Print less information.
-S, --socket=name
For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use.
--ssl
Enables TLS. TLS is also enabled even without setting this option when certain other TLS options are set. Starting with , the --ssl option will not enable verifying the server certificate by default. In order to verify the server certificate, the user must specify the --ssl-verify-server-cert option.
--ssl-ca=name
Defines a path to a PEM file that should contain one or more X509 certificates for trusted Certificate Authorities (CAs) to use for TLS. This option requires that you use the absolute path, not a relative path. See Secure Connections Overview: Certificate Authorities (CAs) for more information. This option implies the --ssl option.
--ssl-capath=name
Defines a path to a directory that contains one or more PEM files that should each contain one X509 certificate for a trusted Certificate Authority (CA) to use for TLS. This option requires that you use the absolute path, not a relative path. The directory specified by this option needs to be run through the openssl rehash command. See Secure Connections Overview: Certificate Authorities (CAs) for more information. This option is only supported if the client was built with OpenSSL or yaSSL. If the client was built with GnuTLS or Schannel, then this option is not supported. See TLS and Cryptography Libraries Used by MariaDB for more information about which libraries are used on which platforms. This option implies the --ssl option.
--ssl-cert=name
Defines a path to the X509 certificate file to use for TLS. This option requires that you use the absolute path, not a relative path. This option implies the --ssl option.
--ssl-cipher=name
List of permitted ciphers or cipher suites to use for TLS. This option implies the --ssl option.
--ssl-crl=name
Defines a path to a PEM file that should contain one or more revoked X509 certificates to use for TLS. This option requires that you use the absolute path, not a relative path. See Secure Connections Overview: Certificate Revocation Lists (CRLs) for more information. This option is only supported if the client was built with OpenSSL or Schannel. If the client was built with yaSSL or GnuTLS, then this option is not supported. See TLS and Cryptography Libraries Used by MariaDB for more information about which libraries are used on which platforms.
--ssl-crlpath=name
Defines a path to a directory that contains one or more PEM files that should each contain one revoked X509 certificate to use for TLS. This option requires that you use the absolute path, not a relative path. The directory specified by this option needs to be run through the openssl rehash command. See Secure Connections Overview: Certificate Revocation Lists (CRLs) for more information. This option is only supported if the client was built with OpenSSL. If the client was built with yaSSL, GnuTLS, or Schannel, then this option is not supported. See TLS and Cryptography Libraries Used by MariaDB for more information about which libraries are used on which platforms.
--ssl-key=name
Defines a path to a private key file to use for TLS. This option requires that you use the absolute path, not a relative path. This option implies the --ssl option.
--ssl-verify-server-cert
Enables server certificate verification. This option is disabled by default.
-t, --tmpdir=name
Directory for temporary files.
-s, --upgrade-system-tables
Only upgrade the system tables in the mysql database. Tables in other databases are not checked or touched.
-u, --user=name
User for login if not current user.
-v, --verbose
Display more output about the process, using it twice will print connection arguments; using it 3 times will print out all CHECK, RENAME and ALTER TABLE commands used during the check phase; using it 4 times will also write out all mariadb-check commands used.
-V, --version
Output version information and exit.
-k, --version-check
Run this program only if its 'server version' matches the version of the server to which it's connecting check. Note: the 'server version' of the program is the version of the MariaDB server with which it was built/distributed. (Defaults to on; use --skip-version-check to disable.)
--write-binlog
All commands including those run by mariadb-check are written to the binary log. Disabled by default. Before and , this was enabled by default, and --skip-write-binlog should be used when commands should not be sent to replication slaves.
--print-defaults
Print the program argument list and exit.
--no-defaults
Don't read default options from any option file.
--defaults-file=#
Only read default options from the given file #.
--defaults-extra-file=#
Read this file after the global files are read.
--defaults-group-suffix=#
In addition to the default option groups, also read option groups with this suffix.
[mysql_upgrade]
Options read by mariadb-upgrade, which includes both MariaDB Server and MySQL Server.
[mariadb-upgrade]
Options read by mariadb-upgrade. Available starting with .
[client]
Options read by all MariaDB and MySQL client programs, which includes both MariaDB and MySQL clients. For example, mysqldump.
[client-server]
Options read by all MariaDB client programs and the MariaDB Server. This is useful for options like socket and port, which is common between the server and the clients.
[client-mariadb]
Options read by all MariaDB client programs.
dbForge Query Builder 10.1
Support for the rds-ca-rsa2048-g1 SSL/TLS certificate for connecting to MariaDB servers on AWS and enhanced cloud compatibility features, new automation capabilities
dbForge Query Builder 10.0
, Implemented support for the JSON_TABLE() table function in MariaDB
dbForge Query Builder 5.2
dbForge Query Builder 5.1
,
dbForge Query Builder 4.5
dbForge Query Builder 4.4
dbForge Query Builder 4.3
dbForge Query Builder 4.2
,
dbForge Query Builder 3.1
,
LibreOffice Base is an open source RDBMS (relational database management system) front-end tool to create and manage various databases.
First, make sure to prepare MariaDB Connector/ODBC as explained in MariaDB Connector/ODBC.
That includes:
Download the latest MariaDB Connector/ODBC
Copy the shared library libmaodbc.so to /usr/lib/[multi-arch]
Install the unixodbc, unixodbc-dev, openssh-client, odbcinst packages
Create a template file for the . A sample “MariaDB_odbc_driver_template.ini” could be:
[MariaDB ODBC 3.1 Driver]
Description = MariaDB Connector/ODBC v.3.1
Driver = /usr/lib/x86_64-linux-gnu/libmaodbc.so
Install the ODBC driver from the template file by running:
$ sudo odbcinst -i -d -f MariaDB_odbc_driver_template.ini
odbcinst: Driver installed. Usage count increased to 1.
Target directory is /etc
Verify successful installation in /etc/odbcinst.ini file (this path is obtained by the config info /-j/ option, where drivers are installed in that predefined location).
$ odbcinst -j
unixODBC 2.3.6
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/anel/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
$ cat /etc/odbcinst.ini
[MariaDB ODBC 3.1 Driver]
Description=MariaDB Connector/ODBC v.3.1
Driver=/usr/lib/x86_64-linux-gnu/libmaodbc.so
UsageCount=1
Create a template file for the . A sample “MariaDB_odbc_data_source_template.ini” could be:
[MariaDB-server]
Description=MariaDB server
Driver=MariaDB ODBC 3.1 Driver
SERVER=localhost
USER=anel
PASSWORD=
DATABASE=test
PORT=3306
Install data source:
odbcinst -i -s -h -f MariaDB_odbc_data_source_template.ini
Verify successful installation in the /.odbc.ini file
$ cat ~/.odbc.ini
[MariaDB-server]
Description=MariaDB server
Driver=MariaDB ODBC 3.1 Driver
SERVER=MariaDB
USER=anel
PASSWORD=
DATABASE=test
PORT=3306
Verify successful installation also using the utility, for example:
$ isql MariaDB-server
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> show tables;
+--------------------------------------------------------------------------+
| Tables_in_test |
+--------------------------------------------------------------------------+
| Authors |
| tbl_names |
| webposts |
| webusers |
+--------------------------------------------------------------------------+
SQLRowCount returns 4
4 rows fetched
Start Libreoffice Base from the terminal by running lobase (make sure to install the libreoffice-base package if needed). The default option is to create a new database, which is HSQLDB. In order to connect to a running MariaDB server, choose “Connect to an existing database” and choose “ODBC” driver as shown below:
After that, choose DSN (the one that we created in the previous step) and click “Next”:
Provide a user name (and password if needed) and again check the connection (with the “Test Connection” button) and click “Next”:
After that, we have options to register the database. Registration in this sense means that the database is viewable by other LibreOffice modules (like LibreOffice Calc and LibreOffice Writer). So this step is optional. In this example, we will save as “fosdem21_mariadb.odb”. See Using a Registered Database.
It opens the following window:
It consists of three windows/panels:
“Database” window with the options
"Tables",
"Queries",
"Forms",
"Reports".
"Tasks window (dependent on what is selected in the “Database” window). When “Tables” is selected, the options are:
"Create Table in Design View",
"Use Wizard to Create Table" and
"Create View".
"Tables" window - shows list of tables that are created.
As we can see, there are system tables in the “mysql” database as well as “test” database.
Let’s say we create a table using the REST API from JSON data from posts, and another table using the same mechanism from users, and let’s call them webposts and webusers. In order to do so, we have to enable the CONNECT storage engine plugin and start with REST_API. See more in the CONNECT - Files Retrieved Using Rest Queries article.
The queries we need to run in MariaDB are:
CREATE TABLE webusers ENGINE=CONNECT TABLE_TYPE=JSON
HTTP='http://jsonplaceholder.typicode.com/users';
CREATE TABLE webposts ENGINE=CONNECT TABLE_TYPE=JSON
HTTP='http://jsonplaceholder.typicode.com/posts';
The result in LibreOffice Base will be as shown below:
Double clicking on the table opens a new window with the data displayed to inspect:
To create the table from the “Tasks” window, use the option “Create Table in Design View”, where one can specify specific field names and types as shown:
From the “Tasks” window one can create a table using the option “Use Wizard to Create Table” to create some sample tables.
One can fill the data in the existing table, or create and define the new table from the LibreOffice Calc module with simple copy-paste (in the "Tasks" window).
Other modules can use the registered database, for example, open "LibreOffice Calc" and go to "Tools", "Options" and you will see the "odb" file we registered when starting "LibreOffice Base".
This page is licensed: CC BY-SA / Gnu FDL
is a universal IDE with GUI tools that has all the necessary built-in capabilities to work with MariaDB and MySQL databases for their development, management, and administration. It allows for creating, managing, and editing the data without the need to store them locally.
This powerful GUI tool offers a rich visual design that is perfect for working with large scripts, preparing data reports, and database projects. At any time, you can back up or restore your data, export or import them to and from the most commonly used formats, and compare or synchronize the MariaDB databases. Apart from that, dbForge Studio supports the following servers:
MariaDB,
SkySQL (the MariaDB cloud database),
All MySQL Server versions,
Percona servers and TokuDB,
MySQL and MariaDB on Amazon RDS and Amazon Aurora.
Google Cloud, Alibaba Cloud, Tencent Cloud, Galera Cluster,
Sphinx, etc.
Automatic code completion
MariaDB syntax highlighting
Code refactoring and formatting
CRUD generation
Data and schema synchronization and comparison
Recurring database sync tasks planning
Comparison report generation
MariaDB data export to 14 commonly-used formats
Data import from 10 popular formats into MariaDB table
Rich customization ability
Command-line automation for data tasks
MariaDB databases backing up and restoring
User accounts and permissions configuration
Table maintenance
Database scripts generation
Source and Target servers’ selection
Database to be copied or dropped selection
Configuration of the database copying parameters
Progress of copying tracing and abortion of the copying
Schema diagrams generation
Visual database construction
Foreign key relations between tables
Data customization supported by multiple generators
All kinds of generators: basic, meaningful, and user-defined
Real-time preview of generated data
Command-line interface
Visual query profiling
Profiling results comparison
Automatic generation of the script template for queries
Easy navigation through the database objects
Support for different query types
Support for sequence tables
Table creation and editing in MariaDB with no code
Automatic data type setting for frequently-used column values
Errors prevention while working with tables
MariaDB script automatic generation according to the changes made by a user
Renaming database objects with preview
Refactoring script
Version control of database schemas and static table data
Compatibility with all major version control systems
Dedicated and shared development models
Quick comparison of database versions
Examination and resolution of conflicts
History of changes
MariaDB version control system providing efficient database team development
Scripts folder for exporting a database project to a MariaDB script file
Pivot tables for summarizing and viewing the data
A powerful wizard with robust features
Full command-line support
9 formats for reports' delivery
A comprehensive overview of the database structure
Examine the internal dependencies between objects and databases
Customize the style and generate the docs in several formats
Packages
Sequences
Temporal tables
Nowadays, with the growing popularity of the MariaDB database, the demand for a convenient, multi-functional tool is increasing, too. This solution must meet users’ needs, be easy to work with and provide constant support. Fortunately, is such a solution. This database tool is one of the most appreciated worldwide and trusted by many people. Devart’s dbForge Studio has received a lot of awards that confirm its overwhelming popularity.
Download a free 30-day trial of dbForge Studio for MariaDB and MySQL .
This page is licensed: CC BY-SA / Gnu FDL
This page is licensed: GPLv2, originally from
dbForge Studio for MySQL 10.1
Support for the rds-ca-rsa2048-g1 SSL/TLS certificate for connecting to MariaDB servers on AWS and enhanced cloud compatibility features, new automation capabilities
dbForge Studio for MySQL 10.0
Support for , added Source Control, support for temporal tables in MariaDB
dbForge Studio for MySQL 9.2
Support for , enhanced code completion for application-period temporal tables, support for sequence tables in MariaDB databases
dbForge Studio for MySQL 9.1
Connectivity support for -10.10
dbForge Studio for MySQL 9.0
Connectivity support for -10.6
dbForge Studio for MySQL 8.1
Support for
dbForge Studio for MySQL 8.0
Support for
dbForge Studio for MySQL 7.3
Support for , Support for , Support for MariaDB Galera Cluster 10.0 Series
dbForge Studio for MySQL 6.1
,
dbForge Fusion is a powerful add-in for Visual Studio. It provides automatic and simple MariaDB database development and boosts data management capacity. With this tool integrated, it is easy to work with database development and administration tasks from Visual Studio.
Import table data from multiple tables in various formats with the Data Import Wizard
Save import configuration templates for future use
Export data from multiple tables to various formats
Create templates with export settings for later use
Generate schema synchronization scripts
Filter the results of a comparison process
Generate comparison reports
Sync data with a command-line interface
Adjust and export comparison results
Generate a schema synchronization script
Filter objects during data comparison
Complete codes easily
Enjoy advanced formatting
Drag database objects easily
Execute automatically generated scripts of components
See the result in a convenient grid
Code snippets
Keyword and object suggestion
Errors highlighting
Embedded formatting profiles that can be swapped
Command-line support for automatic and scheduled formatting tasks
Bulk formatting
Automate the debugging process
Simplify your work with stored routines and triggers
Enjoy visual creation, modification and management of any database and table objects
Download a free 30-day trial of dbForge Fusion for MariaDB and MySQL here.
dbForge Fusion for MariaDB and MySQL 6.6
-10.5
dbForge Fusion for MariaDB and MySQL 6.1
,
Shows the structure of a MariaDB database (databases, tables, columns and indexes).
Prior to , the client was called mysqlshow
. It can still be accessed under this name, via a symlink in Linux, or an alternate binary in Windows.
You can also use , , , and SHOW TABLE STATUS, as well as the tables (, , ), to get similar functionality.
The output displays only the names of those databases, tables, or columns for which you have some privileges.
If no database is given then all matching databases are shown. If no table is given, then all matching tables in database are shown. If no column is given, then all matching columns and column types in table are shown.
If the last argument contains a shell or SQL wildcard (,?,% or _) then only &#xNAN;what's matched by the wildcard is shown. If a database name contains any underscores, those should be escaped with a backslash (some Unix shells require two) to get a list of the proper tables or columns. “” and “?” characters are converted into SQL “%” and “” wildcard characters. This might cause some confusion when you try to display the columns for a table with a “” in the name, because in this case, mariadb-show shows you only the table names that match the pattern. This is easily fixed by adding an extra “%” last on the command line as a separate argument.
mariadb-show
supports the following options:
In addition to reading options from the command-line, mariadb-show
can also read options from . If an unknown option is provided to mariadb-show
in an option file, then it is ignored.
The following options relate to how MariaDB command-line tools handles option files. They must be given as the first argument on the command-line:
In and later, mariadb-show
is linked with . However, MariaDB Connector/C does not yet handle the parsing of option files for this client. That is still performed by the server option file parsing code. See for more information.
Option Groups
mariadb-show
reads options from the following from :
Getting a list of databases:
Getting a list of tables in the test
database:
Getting a list of columns in the test
.book
table:
This page is licensed: CC BY-SA / Gnu FDL