Configuration (original) (raw)

Introduction

Most of mycli's user settings are configured via the file located at~/.myclirc, which is a hidden file in your home folder in Linux and macOS. On Windows it is located at C:\Users\<username>\.myclirc.

The config file is created when mycli is launched for the very first time. Updates to that file are not overwritten by subsequent launches of mycli or updating the version of mycli.

Mycli also reads the [client] section of MySQL's option file, ~/.my.cnf(on Windows: C:\Users\<username>\.my.cnf). See the example file at the bottom of this page for more information.

NOTE: Mycli does not read the [mysql] section of MySQL's option files. It only reads the [client] section.

Mycli supports two methods of storing server credentials. See theserver configuration documentationfor more information.

Sample Mycli Config File

`[main]

Enables context sensitive auto-completion. If this is disabled then all

possible completions will be listed.

smart_completion = True

Multi-line mode allows breaking up the sql statements into multiple lines. If

this is set to True, then the end of the statements must have a semi-colon.

If this is set to False then sql statements can't be split into multiple

lines. End of line (return) is considered as the end of the statement.

multi_line = False

Destructive warning mode will alert you before executing a sql statement

that may cause harm to the database such as "drop table", "drop database"

or "shutdown".

destructive_warning = True

log_file location.

log_file = ~/.mycli.log

Default log level. Possible values: "CRITICAL", "ERROR", "WARNING", "INFO"

and "DEBUG".

log_level = INFO

Log every query and its results to a file. Enable this by uncommenting the

line below.

audit_log = ~/.mycli-audit.log

Timing of sql statments and table rendering.

timing = True

Table format. Possible values: ascii, double, github,

psql, plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html,

latex, latex_booktabs, textile, moinmoin, jira, vertical, tsv, csv.

Recommended: ascii

table_format = ascii

Syntax Style. Possible values: manni, igor, xcode, vim, autumn, vs, rrt,

native, perldoc, borland, tango, emacs, friendly, monokai, paraiso-dark,

colorful, murphy, bw, pastie, paraiso-light, trac, default, fruity

syntax_style = default

Keybindings: Possible values: emacs, vi.

Emacs mode: Ctrl-A is home, Ctrl-E is end. All emacs keybindings are available in the REPL.

When Vi mode is enabled you can use modal editing features offered by Vi in the REPL.

key_bindings = emacs

Enabling this option will show the suggestions in a wider menu. Thus more items are suggested.

wider_completion_menu = False

MySQL prompt

\t - Product type (Percona, MySQL, Mariadb)

\u - Username

\h - Hostname of the server

\d - Database name

\n - Newline

prompt = '\t \u@\h:\d> '

Skip intro info on startup and outro info on exit

less_chatty = False

Use alias from --login-path instead of host name in prompt

login_path_as_host = False

Cause result sets to be displayed vertically if they are too wide for the current window,

and using normal tabular format otherwise. (This applies to statements terminated by ; or \G.)

auto_vertical_output = False

keyword casing preference. Possible values "lower", "upper", "auto"

keyword_casing = auto

Enable the pager on startup.

enable_pager = True

Custom colors for the completion menu, toolbar, etc.

[colors]

Completion menus.

Token.Menu.Completions.Completion.Current = 'bg:#00aaaa #000000' Token.Menu.Completions.Completion = 'bg:#008888 #ffffff' Token.Menu.Completions.MultiColumnMeta = 'bg:#aaffff #000000' Token.Menu.Completions.ProgressButton = 'bg:#003333' Token.Menu.Completions.ProgressBar = 'bg:#00aaaa'

Selected text.

Token.SelectedText = '#ffffff bg:#6666aa'

Search matches. (reverse-i-search)

Token.SearchMatch = '#ffffff bg:#4444aa' Token.SearchMatch.Current = '#ffffff bg:#44aa44'

The bottom toolbar.

Token.Toolbar = 'bg:#222222 #aaaaaa' Token.Toolbar.Off = 'bg:#222222 #888888' Token.Toolbar.On = 'bg:#222222 #ffffff'

Search/arg/system toolbars.

Token.Toolbar.Search = 'noinherit bold' Token.Toolbar.Search.Text = 'nobold' Token.Toolbar.System = 'noinherit bold' Token.Toolbar.Arg = 'noinherit bold' Token.Toolbar.Arg.Text = 'nobold'

Favorite queries.

[favorite_queries]

Use the -d option to reference a DSN.

[alias_dsn]

example_dsn = mysql://[user[:password]@][host][:port][/dbname]

`

Sample MySQL Option File

`[client]

The client section is read by mycli and all MySQL applications.

Default connection information

user = thor password = hammer host = localhost database = asgard port = 3306

Connect via a socket.

socket = '/tmp/mysql.sock'

Use the UTF-8 character set

default-character-set = utf-8

SSL options - see the MySQL documentation for more information.

https://dev.mysql.com/doc/refman/5.7/en/secure-connection-options.html#option_general_ssl-ca

ssl-ca

ssl-cert

ssl-key

ssl-cipher

ssl-verify-server-cert

Turn on the LOAD DATA INFILE statement

local-infile = on

Another local infile alias.

Use it if the previous one clashes with other MySQL tools.

loose-local-infile = on

Configure the pager

pager = 'vim -' `