# MySQL client
# Base login
To access MySQL from the command line:
mysql --user=username --password=pwd --host=hostname test_db
This can be shortened to:
mysql -u username -p password -h hostname test_db
By omitting the password
value MySQL will ask for any required password as the first input. If you specify password
the client will give you an 'insecure' warning:
mysql -u=username -p -h=hostname test_db
For local connections --socket
can be used to point to the socket file:
mysql --user=username --password=pwd --host=localhost --socket=/path/to/mysqld.sock test_db
Omitting the socket
parameter will cause the client to attempt to attach to a server on the local machine. The server must be running to connect to it.
# Execute commands
This set of example show how to execute commands stored in strings or script files, without the need of the interactive prompt. This is especially useful to when a shell script needs to interact with a database.
# Execute command from a string
$ mysql -uroot -proot test -e'select * from people'
+----+-------+--------+
| id | name | gender |
+----+-------+--------+
| 1 | Kathy | f |
| 2 | John | m |
+----+-------+--------+
To format the output as a tab-separated grid, use the --silent
parameter:
$ mysql -uroot -proot test -s -e'select * from people'
id name gender
1 Kathy f
2 John m
To omit the headers:
$ mysql -uroot -proot test -ss -e'select * from people'
1 Kathy f
2 John m
# Execute from script file:
$ mysql -uroot -proot test < my_script.sql
$ mysql -uroot -proot test -e'source my_script.sql'
# Write the output on a file
$ mysql -uroot -proot test < my_script.sql > out.txt
$ mysql -uroot -proot test -s -e'select * from people' > out.txt
# Syntax
- mysql [OPTIONS] [database_name]
# Parameters
Parameter | Description |
---|---|
-D --database=name | name of the database |
--delimiter=str | set the statement delimiter. The default one is ';' |
-e --execute='command' | execute command |
-h --host=name | hostname to connect to |
-p --password=name | password Note: there is no space between -p and the password |
-p (without password) | the password will be prompted for |
-P --port=# | port number |
-s --silent | silent mode, produce less output. Use \t as column separator |
-ss | like -s , but omit column names |
-S --socket=path | specify the socket (Unix) or named pipe (Windows) to use when connecting to a local instance |
--skip-column-names | omit column names |
-u --user=name | username |
-U --safe-updates --i-am-a-dummy | login with the variable sql_safe_updates=ON . This will allow only DELETE and UPDATE that explicitly use keys |
-V --version | print the version and exit |