前言
我们在连接MySQL数据库的时候,大多数情况下是使用Giu图形界面的工具的。但是有时候连接数据库还是命令行方便。所以我们通常都需要掌握一点命令行操作数据库的基础。
这里推荐一篇文章给大家看MySQL命令大全,这里包含了绝大多数我们需要用到的MySQL命令。
但是默认的MySQL命令行是不支持补全的,并且很讨厌的是,我们输入了错误的命令之后,由于命令行操作习惯,按ctrl+c想要取消的时候,我们就已经退出了MySQL命令行工具。只能再次连接。想要删除错误的命令只能 ctrl+a ctrl+u进行删除。或者一直按ctrl+w进行删除。
还有,每个命令必须以;分号结尾,而我这样的马大哈老是忘记。
上图:
1、安装
sudo apt install mycli
如果你在 macOS 上,你可以通过 homebrew 安装它。
brew update && brew install mycli
2、登录
mycli -u root -p
如果您在快速启动时遇到问题,请查看安装页面以获取详细说明。
连接到远程数据库
MyCli 要求您在本地计算机或远程服务器上具有 MySQL 兼容服务器,该服务器可使用 TCP/IP(SSH 隧道通常用于此目的)或 UNIX 域套接字(仅限本地计算机)访问。您还需要正确的凭据(用户名和可选的密码)。
请注意,主机名是 MySQL 凭据的一部分!
以下默认值用于连接:
user
- 您当前的用户名password
- 无(空)hostname
- 本地主机socket
- /var/run/mysqld/mysqld.sockport
- 3306
这些可以被您的配置文件和命令行参数否决(命令行参数优先于配置文件。
可以在运行时使用交互式命令行界面(use
或connect
命令)更改数据库名称。
也可以使用环境变量提供其中一些参数: - 主机名 - 端口 - UNIX 域套接字 - 密码(请注意,这在某些多用户系统上可能不安全!) MYSQL_HOST
MYSQL_TCP_PORT
MYSQL_UNIX_PORT
MYSQL_PWD
以下配置文件可用于配置您的连接:
- /etc/my.cnf / ~/.my.cnf - MySQL 兼容配置文件
- ~/.myclirc - MyCli 配置文件(参见
[alias_dsn]
.
命令行参数
database
- 数据库名称或 DSN (mysql://user:password@hostname:port/databasename)-h
,--host TEXT
- 数据库的主机地址。-P
,--port INTEGER
- 用于连接的端口号。-u
,--user TEXT
- 连接数据库的用户名。-S
,--socket TEXT
- 用于连接的套接字文件。-p
,--password TEXT
- 连接数据库的密码。--pass
TEXT
- 连接到数据库的密码(请注意这对其他用户可见!)。-D
,--database TEXT
- 要使用的数据库。-d
,--dsn TEXT
- 使用配置到[alias_dsn]
myclirc 文件部分的 DSN。--defaults-file PATH
仅从给定文件中读取 MySQL 选项。--myclirc PATH
myclirc 文件的位置。
3、远程连接
mycli mysql -h 192.168.1.1 -p3306 -u root
4、用法
$ mycli --help用法:mycli [选项] [数据库]
Usage: mycli [OPTIONS] [DATABASE]
A MySQL terminal client with auto-completion and syntax highlighting.
Examples:
- mycli my_database
- mycli -u my_user -h my_host.com my_database
- mycli mysql://my_user@my_host.com:3306/my_database
Options:
-h, --host TEXT Host address of the database.
-P, --port INTEGER Port number to use for connection. Honors
$MYSQL_TCP_PORT.
-u, --user TEXT User name to connect to the database.
-S, --socket TEXT The socket file to use for connection.
-p, --password TEXT Password to connect to the database.
--pass TEXT Password to connect to the database.
--ssh-user TEXT User name to connect to ssh server.
--ssh-host TEXT Host name to connect to ssh server.
--ssh-port INTEGER Port to connect to ssh server.
--ssh-password TEXT Password to connect to ssh server.
--ssh-key-filename TEXT Private key filename (identify file) for the
ssh connection.
--ssl-ca PATH CA file in PEM format.
--ssl-capath TEXT CA directory.
--ssl-cert PATH X509 cert in PEM format.
--ssl-key PATH X509 key in PEM format.
--ssl-cipher TEXT SSL cipher to use.
--ssl-verify-server-cert Verify server's "Common Name" in its cert
against hostname used when connecting. This
option is disabled by default.
-V, --version Output mycli's version.
-v, --verbose Verbose output.
-D, --database TEXT Database to use.
-d, --dsn TEXT Use DSN configured into the [alias_dsn]
section of myclirc file.
--list-dsn list of DSN configured into the [alias_dsn]
section of myclirc file.
-R, --prompt TEXT Prompt format (Default: "\t \u@\h:\d> ").
-l, --logfile FILENAME Log every query and its results to a file.
--defaults-group-suffix TEXT Read MySQL config groups with the specified
suffix.
--defaults-file PATH Only read MySQL options from the given file.
--myclirc PATH Location of myclirc file.
--auto-vertical-output Automatically switch to vertical output mode
if the result is wider than the terminal
width.
-t, --table Display batch output in table format.
--csv Display batch output in CSV format.
--warn / --no-warn Warn before running a destructive query.
--local-infile BOOLEAN Enable/disable LOAD DATA LOCAL INFILE.
--login-path TEXT Read this path from the login file.
-e, --execute TEXT Execute command and quit.
--help Show this message and exit.