(mysql.info) command-line-options
Info Catalog
(mysql.info) program-options
(mysql.info) program-options
(mysql.info) option-files
4.3.1 Using Options on the Command Line
---------------------------------------
Program options specified on the command line follow these rules:
* Options are given after the command name.
* An option argument begins with one dash or two dashes, depending
on whether it has a short name or a long name. Many options have
both forms. For example, -? and -help are the short and long forms
of the option that instructs a MySQL program to display a help
message.
* Option names are case sensitive. -v and -V are both legal and have
different meanings. (They are the corresponding short forms of the
-verbose and -version options.)
* Some options take a value following the option name. For example,
-h localhost or -host=localhost indicate the MySQL server host to
a client program. The option value tells the program the name of
the host where the MySQL server is running.
* For a long option that takes a value, separate the option name and
the value by an ‘`='’ sign. For a short option that takes a
value, the option value can immediately follow the option letter,
or there can be a space between: -hlocalhost and -h localhost are
equivalent. An exception to this rule is the option for specifying
your MySQL password. This option can be given in long form as
-password=PASS_VAL or as -password. In the latter case (with no
password value given), the program prompts you for the password.
The password option also may be given in short form as -pPASS_VAL
or as -p. However, for the short form, if the password value is
given, it must follow the option letter with _no intervening
space_. The reason for this is that if a space follows the option
letter, the program has no way to tell whether a following
argument is supposed to be the password value or some other kind of
argument. Consequently, the following two commands have two
completely different meanings:
shell> mysql -ptest
shell> mysql -p test
The first command instructs `mysql' to use a password value of
`test', but specifies no default database. The second instructs
`mysql' to prompt for the password value and to use `test' as the
default database.
Some options control behavior that can be turned on or off. For
example, the `mysql' client supports a -column-names option that
determines whether or not to display a row of column names at the
beginning of query results. By default, this option is enabled.
However, you may want to disable it in some instances, such as when
sending the output of `mysql' into another program that expects to see
only data and not an initial header line.
To disable column names, you can specify the option using any of these
forms:
--disable-column-names
--skip-column-names
--column-names=0
The -disable and -skip prefixes and the `=0' suffix all have the same
effect: They turn the option off.
The `enabled' form of the option may be specified in any of these ways:
--column-names
--enable-column-names
--column-names=1
If an option is prefixed by -loose, a program does not exit with an
error if it does not recognize the option, but instead issues only a
warning:
shell> mysql --loose-no-such-option
mysql: WARNING: unknown option '--no-such-option'
The -loose prefix can be useful when you run programs from multiple
installations of MySQL on the same machine and list options in an
option file, An option that may not be recognized by all versions of a
program can be given using the -loose prefix (or `loose' in an option
file). Versions of the program that recognize the option process it
normally, and versions that do not recognize it issue a warning and
ignore it.
Another option that may occasionally be useful with `mysql' is the
-execute or -e option, which can be used to pass SQL statements to the
server. The statements must be enclosed by single or double quotation
marks. If you wish to use quoted values within a statement, you should
use double quotes for the statement, and single quotes for any quoted
values within the statement. When this option is used, `mysql' executes
the statements and exits.
For example, you can use the following command to obtain a list of user
accounts:
shell> mysql -u root -p --execute="SELECT User, Host FROM user" mysql
Enter password: ******
+------+-----------+
| User | Host |
+------+-----------+
| | gigan |
| root | gigan |
| | localhost |
| jon | localhost |
| root | localhost |
+------+-----------+
shell>
Note that the long form (-execute) must be followed by an equals sign
(`=').
In the preceding example, the name of the `mysql' database was passed
as a separate argument. However, the same statement could have been
executed using this command, which specifies no default database:
mysql> mysql -u root -p --execute="SELECT User, Host FROM mysql.user"
Multiple SQL statements may be passed on the command line, separated by
semicolons:
shell> mysql -u root -p -e "SELECT VERSION();SELECT NOW()"
Enter password: ******
+------------+
| VERSION() |
+------------+
| 5.0.19-log |
+------------+
+---------------------+
| NOW() |
+---------------------+
| 2006-01-05 21:19:04 |
+---------------------+
The -execute or -e option may also be used to pass commands in an
analogous fashion to the `ndb_mgm' management client for MySQL Cluster.
See multi-shutdown-restart, for an example.
Info Catalog
(mysql.info) program-options
(mysql.info) program-options
(mysql.info) option-files
automatically generated byinfo2html