Connecting to MariaDB Server

This article covers connecting to MariaDB and the basic connection parameters. If you are completely new to MariaDB, take a look at A MariaDB Primer first.
In order to connect to the MariaDB server, the client software must provide the correct connection parameters. The client software will most often be the mariadb client, used for entering statements from the command line, but the same concepts apply to any client, such as a graphical client, a client to run backups such as mariadb-dump, etc. The rest of this article assumes that the mariadb command line client is used.
If a connection parameter is not provided, it will revert to a default value.
For example, to connect to MariaDB using only default values with the mariadb client, enter the following from the command line:
mariadbIn this case, the following defaults apply:
The host name is
localhost.The user name is either your Unix login name, or
ODBCon Windows.No password is sent.
The client will connect to the server with the default socket, but not any particular database on the server.
These defaults can be overridden by specifying a particular parameter to use. For example:
mariadb -h 166.78.144.191 -u username -ppassword database_nameIn this case:
-hspecifies a host. Instead of usinglocalhost, the IP166.78.144.191is used.-uspecifies a user name, in this caseusername-pspecifies a password,password. Note that for passwords, unlike the other parameters, there cannot be a space between the option (-p) and the value (password). It is also not secure to use a password in this way, as other users on the system can see it as part of the command that has been run. If you include the-poption, but leave out the password, you are prompted for it, which is more secure.The database name is provided as the first argument after all the options, in this case
database_name.It will connect with the default tcp_ip port, 3306
Connection Parameters
host
--host=name
-h nameConnect to the MariaDB server on the given host. The default host is localhost. By default, MariaDB does not permit remote logins - see Configuring MariaDB for Remote Client Access.
password
--password[=passwd]
-p[passwd]The password of the MariaDB account. It is generally not secure to enter the password on the command line, as other users on the system can see it as part of the command that has been run. If you include the -p or --password option, but leave out the password, you are prompted for it, which is more secure.
pipe
--pipe
-WOn Windows systems that have been started with the --enable-named-pipe option, use this option to connect to the server using a named pipe.
port
--port=num
-P numThe TCP/IP port number to use for the connection. The default is 3306.
protocol
--protocol=nameSpecifies the protocol to be used for the connection for the connection. It can be one of TCP, SOCKET, PIPE or MEMORY (case-insensitive). Usually you would not want to change this from the default. For example on Unix, a Unix socket file (SOCKET) is the default protocol, and usually results in the quickest connection.
TCP: A TCP/IP connection to a server (either local or remote). Available on all operating systems.SOCKET: A Unix socket file connection, available to the local server on Unix systems only. If socket is not specified with --socket, in a config file or with the environment variableMYSQL_UNIX_PORTthen the default/tmp/mysql.sockare used.PIPE. A named-pipe connection (either local or remote). Available on Windows only.MEMORY. Shared-memory connection to the local server on Windows systems only.
shared-memory-base-name
--shared-memory-base-name=nameOnly available on Windows systems in which the server has been started with the --shared-memory option, this specifies the shared-memory name to use for connecting to a local server. The value is case-sensitive, and defaults to MARIADB.
socket
--socket=name
-S nameFor connections to localhost, this specifies either the Unix socket file to use (default /tmp/mysql.sock), or, on Windows where the server has been started with the --enable-named-pipe option, the name (case-insensitive) of the named pipe to use (default MARIADB).
TLS Options
A brief listing is provided below. See Secure Connections Overview and TLS System Variables for more detail.
ssl
--sslEnable TLS for connection (automatically enabled with other TLS flags). Disable with '--skip-ssl'
ssl-ca
--ssl-ca=nameCA file in PEM format (check OpenSSL docs, implies --ssl).
ssl-capath
--ssl-capath=nameCA directory (check OpenSSL docs, implies --ssl).
ssl-cert
--ssl-cert=nameX509 cert in PEM format (implies --ssl).
ssl-cipher
--ssl-cipher=nameTLS cipher to use (implies --ssl).
ssl-key
--ssl-key=nameX509 key in PEM format (implies --ssl).
ssl-crl
--ssl-crl=nameCertificate revocation list (implies --ssl).
ssl-crlpath
--ssl-crlpath=nameCertificate revocation list path (implies --ssl).
ssl-verify-server-cert
--ssl-verify-server-certVerify server's "Common Name" in its cert against hostname used when connecting. This option is disabled by default.
user
--user=name
-u nameThe MariaDB user name to use when connecting to the server. The default is either your Unix login name, or ODBC on Windows. See the GRANT command for details on creating MariaDB user accounts.
Option Files
It's also possible to use option files (or configuration files) to set these options. Most clients read option files. Usually, starting a client with the --help option will display which files it looks for as well as which option groups it recognizes.
See Also
--skip-grant-tables allows you to start MariaDB without
GRANT. This is useful if you lost your root password.
This page is licensed: CC BY-SA / Gnu FDL
Last updated
Was this helpful?

