Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MYSQL_CONFIG_EDITOR(1)	      MySQL Database System	  MYSQL_CONFIG_EDITOR(1)

NAME
     mysql_config_editor  -  configure authentication information for connecting
     to MySQL server

SYNOPSIS
     mysql_config_editor options command

DESCRIPTION
     The mysql_config_editor utility enables you to store authentication creden-
     tials in an obfuscated login path file named .mylogin.cnf. The  file  loca-
     tion  is  the  %APPDATA%\MySQL  directory on Windows and the current user's
     home directory on non-Windows systems. The file can be read later by  MySQL
     client  programs  to  obtain  authentication  credentials for connecting to
     MySQL Server.

     The unobfuscated format of the .mylogin.cnf login path file consists of op-
     tion groups, similar to other option files. Each  option  group  in  .mylo-
     gin.cnf  is  called a "login path," which is a group that permits only cer-
     tain options: host, user, password, port and socket. Think of a login  path
     option group as a set of options that specify which MySQL server to connect
     to and which account to authenticate as. Here is an unobfuscated example:

	 [client]
	 user = mydefaultname
	 password = mydefaultpass
	 host = 127.0.0.1
	 [mypath]
	 user = myothername
	 password = myotherpass
	 host = localhost

     When  you invoke a client program to connect to the server, the client uses
     .mylogin.cnf in conjunction with other  option  files.  Its  precedence  is
     higher  than other option files, but less than options specified explicitly
     on the client command line. For information about the order in which option
     files are used, see Section 6.2.2.2, "Using Option Files".

     To specify an alternate login path file name, set the MYSQL_TEST_LOGIN_FILE
     environment variable. This variable is recognized	by  mysql_config_editor,
     by  standard  MySQL  clients  (mysql, mysqladmin, and so forth), and by the
     mysql-test-run.pl testing utility.

     Programs use groups in the login path file as follows:

     *	 mysql_config_editor operates on the client login path by default if you
	 specify no --login-path=name option to indicate explicitly which  login
	 path to use.

     *	 Without  a  --login-path  option,  client programs read the same option
	 groups from the login path file that they read from other option files.
	 Consider this command:

	     mysql

	 By default, the mysql client reads the [client] and [mysql] groups from
	 other option files, so it reads them from the login path file as well.

     *	 With a --login-path option, client programs additionally read the named
	 login path from the login path file. The option groups read from  other
	 option files remain the same. Consider this command:

	     mysql --login-path=mypath

	 The  mysql  client  reads [client] and [mysql] from other option files,
	 and [client], [mysql], and [mypath] from the login path file.

     *	 Client programs read the login path file even	when  the  --no-defaults
	 option  is used, unless --no-login-paths is set. This permits passwords
	 to be specified in a safer  way  than	on  the  command  line	even  if
	 --no-defaults is present.

     mysql_config_editor  obfuscates  the .mylogin.cnf file so it cannot be read
     as cleartext, and its contents when unobfuscated  by  client  programs  are
     used  only  in  memory.  In  this way, passwords can be stored in a file in
     non-cleartext format and used later without ever needing to be  exposed  on
     the  command  line or in an environment variable.	mysql_config_editor pro-
     vides a print command for displaying the login path file contents, but even
     in this case, password values are masked so as never to  appear  in  a  way
     that other users can see them.

     The obfuscation used by mysql_config_editor prevents passwords from appear-
     ing in .mylogin.cnf as cleartext and provides a measure of security by pre-
     venting  inadvertent password exposure. For example, if you display a regu-
     lar unobfuscated my.cnf option file on the screen, any  passwords	it  con-
     tains  are  visible for anyone to see. With .mylogin.cnf, that is not true,
     but the obfuscation used is not likely to deter a determined  attacker  and
     you should not consider it unbreakable. A user who can gain system adminis-
     tration  privileges  on your machine to access your files could unobfuscate
     the .mylogin.cnf file with some effort.

     The login path file must be readable and writable to the current user,  and
     inaccessible to other users. Otherwise, mysql_config_editor ignores it, and
     client programs do not use it, either.

     Invoke mysql_config_editor like this:

	 mysql_config_editor [program_options] command [command_options]

     If the login path file does not exist, mysql_config_editor creates it.

     Command arguments are given as follows:

     *	 program_options consists of general mysql_config_editor options.

     *	 command indicates what action to perform on the .mylogin.cnf login path
	 file.	For example, set writes a login path to the file, remove removes
	 a login path, and print displays login path contents.

     *	 command_options indicates any additional options specific to  the  com-
	 mand,	such  as  the login path name and the values to use in the login
	 path.

     The position of the command name within the set  of  program  arguments  is
     significant.  For example, these command lines have the same arguments, but
     produce different results:

	 mysql_config_editor --help set
	 mysql_config_editor set --help

     The first command line displays a general mysql_config_editor help message,
     and ignores the set command. The second command line displays a  help  mes-
     sage specific to the set command.

     Suppose  that  you  want to establish a client login path that defines your
     default connection parameters, and an additional login  path  named  remote
     for connecting to the MySQL server the host remote.example.com. You want to
     log in as follows:

     *	 By  default,  to  the local server with a user name and password of lo-
	 caluser and localpass

     *	 To the remote server with a user name and password  of  remoteuser  and
	 remotepass

     To  set  up the login paths in the .mylogin.cnf file, use the following set
     commands. Enter each command on a single line, and  enter	the  appropriate
     passwords when prompted:

	 $> mysql_config_editor set --login-path=client
		  --host=localhost --user=localuser --password
	 Enter password: enter password "localpass" here
	 $> mysql_config_editor set --login-path=remote
		  --host=remote.example.com --user=remoteuser --password
	 Enter password: enter password "remotepass" here

     mysql_config_editor  uses	the  client  login path by default, so the --lo-
     gin-path=client option can be omitted from the first command without chang-
     ing its effect.

     To see what mysql_config_editor writes to the .mylogin.cnf  file,	use  the
     print command:

	 $> mysql_config_editor print --all
	 [client]
	 user = localuser
	 password = *****
	 host = localhost
	 [remote]
	 user = remoteuser
	 password = *****
	 host = remote.example.com

     The print command displays each login path as a set of lines beginning with
     a	group header indicating the login path name in square brackets, followed
     by the option values for the login path. Password values are masked and  do
     not appear as cleartext.

     If you do not specify --all to display all login paths or --login-path=name
     to  display a named login path, the print command displays the client login
     path by default, if there is one.

     As shown by the preceding example, the login path file can contain multiple
     login paths. In this way, mysql_config_editor makes it easy to set up  mul-
     tiple  "personalities"  for  connecting  to different MySQL servers, or for
     connecting to a given server using different accounts. Any of these can  be
     selected  by  name  later	using  the --login-path option when you invoke a
     client program. For example, to connect to the remote server, use this com-
     mand:

	 mysql --login-path=remote

     Here, mysql reads the [client] and [mysql] option groups from other  option
     files,  and  the [client], [mysql], and [remote] groups from the login path
     file.

     To connect to the local server, use this command:

	 mysql --login-path=client

     Because mysql reads the client and mysql login paths by default, the  --lo-
     gin-path option does not add anything in this case. That command is equiva-
     lent to this one:

	 mysql

     Options  read  from  the  login path file take precedence over options read
     from other option files. Options read  from  login  path  groups  appearing
     later  in the login path file take precedence over options read from groups
     appearing earlier in the file.

     mysql_config_editor adds login paths to the login path file  in  the  order
     you  create  them,  so you should create more general login paths first and
     more specific paths later. If you need to move  a	login  path  within  the
     file,  you  can remove it, then recreate it to add it to the end. For exam-
     ple, a client login path is more general because it is read by  all  client
     programs, whereas a mysqldump login path is read only by mysqldump. Options
     specified	later  override  options specified earlier, so putting the login
     paths in the order client, mysqldump enables mysqldump-specific options  to
     override client options.

     When  you	use  the  set command with mysql_config_editor to create a login
     path, you need not specify all possible  option  values  (host  name,  user
     name,  password,  port, socket). Only those values given are written to the
     path. Any missing values required later can be specified when you invoke  a
     client path to connect to the MySQL server, either in other option files or
     on  the  command  line.  Any options specified on the command line override
     those specified in the login path file or other option files. For	example,
     if  the  credentials  in  the remote login path also apply for the host re-
     mote2.example.com, connect to the server on that host like this:

	 mysql --login-path=remote --host=remote2.example.com

     mysql_config_editor General Options

     mysql_config_editor supports the following general options,  which  may  be
     used  preceding  any command named on the command line. For descriptions of
     command-specific options, see mysql_config_editor Commands and Command-Spe-
     cific Options.

     *	 --help, -?
	 +---------------------+--------+
	 | Command-Line Format | --help |
	 +---------------------+--------+

	 Display a general help message and exit.

	 To see a command-specific help message, invoke  mysql_config_editor  as
	 follows, where command is a command other than help:

	     mysql_config_editor command --help

     *	 --debug[=debug_options], -# debug_options
	 +---------------------+-------------------------+
	 | Command-Line Format | --debug[=debug_options] |
	 +---------------------+-------------------------+
	 | Type 	       | String 		 |
	 +---------------------+-------------------------+
	 | Default Value       | d:t:o			 |
	 +---------------------+-------------------------+

	 Write	 a   debugging	 log.	A   typical   debug_options   string  is
	 d:t:o,file_name. The default is d:t:o,/tmp/mysql_config_editor.trace.

	 This option is available only if  MySQL  was  built  using  WITH_DEBUG.
	 MySQL	release binaries provided by Oracle are not built using this op-
	 tion.

     *	 --verbose, -v
	 +---------------------+-----------+
	 | Command-Line Format | --verbose |
	 +---------------------+-----------+

	 Verbose mode. Print more information about what the program does.  This
	 option  may  be helpful in diagnosing problems if an operation does not
	 have the effect you expect.

     *	 --version, -V
	 +---------------------+-----------+
	 | Command-Line Format | --version |
	 +---------------------+-----------+

	 Display version information and exit.
     mysql_config_editor Commands and Command-Specific Options

     This section describes the permitted mysql_config_editor commands, and, for
     each one, the command-specific options permitted following the command name
     on the command line.

     In addition, mysql_config_editor supports general options that can be  used
     preceding	any  command.  For descriptions of these options, see mysql_con-
     fig_editor General Options.

     mysql_config_editor supports these commands:

     *	 help

	 Display a general help message and exit. This command takes no  follow-
	 ing options.

	 To  see  a command-specific help message, invoke mysql_config_editor as
	 follows, where command is a command other than help:

	     mysql_config_editor command --help

     *	 print [options]

	 Print the contents of the login path file in  unobfuscated  form,  with
	 the exception that passwords are displayed as *****.

	 The  default  login  path  name is client if no login path is named. If
	 both --all and --login-path are given, --all takes precedence.

	 The print command permits these options following the command name:

	 *   --help, -?

	     Display a help message for the print command and exit.

	     To see a general help message, use mysql_config_editor --help.

	 *   --all

	     Print the contents of all login paths in the login path file.

	 *   --login-path=name, -G name

	     Print the contents of the named login path.

     *	 remove [options]

	 Remove a login path from the login path file, or modify a login path by
	 removing options from it.

	 This command removes from the login path only such options as are spec-
	 ified with the --host, --password, --port,  --socket,	and  --user  op-
	 tions.  If  none  of those options are given, remove removes the entire
	 login path. For example, this command removes only the user option from
	 the mypath login path rather than the entire mypath login path:

	     mysql_config_editor remove --login-path=mypath --user

	 This command removes the entire mypath login path:

	     mysql_config_editor remove --login-path=mypath

	 The remove command permits these options following the command name:

	 *   --help, -?

	     Display a help message for the remove command and exit.

	     To see a general help message, use mysql_config_editor --help.

	 *   --host, -h

	     Remove the host name from the login path.

	 *   --login-path=name, -G name

	     The login path to remove or modify. The default login path name  is
	     client if this option is not given.

	 *   --password, -p

	     Remove the password from the login path.

	 *   --port, -P

	     Remove the TCP/IP port number from the login path.

	 *   --socket, -S

	     Remove the Unix socket file name from the login path.

	 *   --user, -u

	     Remove the user name from the login path.

	 *   --warn, -w

	     Warn  and	prompt the user for confirmation if the command attempts
	     to remove the default login path (client)	and  --login-path=client
	     was   not	specified.  This  option  is  enabled  by  default;  use
	     --skip-warn to disable it.

     *	 reset [options]

	 Empty the contents of the login path file.

	 The reset command permits these options following the command name:

	 *   --help, -?

	     Display a help message for the reset command and exit.

	     To see a general help message, use mysql_config_editor --help.

     *	 set [options]

	 Write a login path to the login path file.

	 This command writes to the login path only such options as  are  speci-
	 fied with the --host, --password, --port, --socket, and --user options.
	 If  none of those options are given, mysql_config_editor writes the lo-
	 gin path as an empty group.

	 The set command permits these options following the command name:

	 *   --help, -?

	     Display a help message for the set command and exit.

	     To see a general help message, use mysql_config_editor --help.

	 *   --host=host_name, -h host_name

	     The host name to write to the login path.

	 *   --login-path=name, -G name

	     The login path to create. The default login path name is client  if
	     this option is not given.

	 *   --password, -p

	     Prompt  for a password to write to the login path. After mysql_con-
	     fig_editor displays the prompt, type the password and press  Enter.
	     To  prevent other users from seeing the password, mysql_config_edi-
	     tor does not echo it.

	     To specify an empty password, press Enter at the  password  prompt.
	     The  resulting login path written to the login path file includes a
	     line like this:

		 password =

	 *   --port=port_num, -P port_num

	     The TCP/IP port number to write to the login path.

	 *   --socket=file_name, -S file_name

	     The Unix socket file name to write to the login path.

	 *   --user=user_name, -u user_name

	     The user name to write to the login path.

	 *   --warn, -w

	     Warn and prompt the user for confirmation if the  command	attempts
	     to  overwrite an existing login path. This option is enabled by de-
	     fault; use --skip-warn to disable it.

COPYRIGHT
     Copyright (C) 1997, 2026, Oracle and/or its affiliates.

     This documentation is free software; you can redistribute it and/or  modify
     it  only  under the terms of the GNU General Public License as published by
     the Free Software Foundation; version 2 of the License.

     This documentation is distributed in the hope that it will be  useful,  but
     WITHOUT  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
     more details.

     You should have received a copy of the GNU  General  Public  License  along
     with  the	program; if not, write to the Free Software Foundation, Inc., 51
     Franklin  Street,	Fifth  Floor,  Boston,	MA   02110-1301   USA	or   see
     http://www.gnu.org/licenses/.

SEE ALSO
     For more information, please refer to the MySQL Reference Manual, which may
     already  be  installed  locally  and  which  is  also  available  online at
     http://dev.mysql.com/doc/.

AUTHOR
     Oracle Corporation (http://dev.mysql.com/).

MySQL 8.0			   03/23/2026		  MYSQL_CONFIG_EDITOR(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mysql_config_editor&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help