本地套接字连接
使用本地套接字连接的前提是使用的用户拥有本地连接数据库的权限,执行命令如下:
$ mysql -utest -p123 -S /tmp/mysql.sock
上述各选项说明如下:
-u
指定用户名;-p
用来指定密码;-S
用来指定本地套接字文件位置。如果在my.cnf
中的[mysql]
下指定了 socket 文件的位置,那么-S
选项可以省略。如果[mysql]
下没有指定 socket 文件的位置并且使用mysql
命令时省略了-S
选项,此时-S
选项的默认值为/tmp/mysql.sock
。
远程连接
使用远程连接的前提是使用的用户拥有远程连接数据库的权限,执行命令如下:
$ mysql -utest -p123 -h 10.0.1.51 -P 3306
上述各选项说明如下:
-h
:远程主机的地址;-P
:远程主机中 MySQL 服务监听的端口;
免交互执行 SQL
mysql 客户端的 -e
选项就可让我们免交互的在 bash 下直接执行 SQL,如下:
$ mysql -uroot -p1234 -e 'show databases;'
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
导入 SQL 脚本
mysql 客户端还可使用类似输入重定向的方式直接导入执行指定 SQL 脚本的内容,如下:
$ mysql -uroot -p1234 < world.sql
内置功能
这里说的内置功能指的是 mysql 客户端连接上数据库之后,在 mysql>
命令提示符下可以使用的操作,下面列出部分常用的操作:
help
:获取客户端可使用的命令;\c
:禁止当前输入命令的执行;CTRL + L
:清屏;CTRL + D
:退出会话;\G
:格式化输出查询的结果;source
:导入执行一个系统中的 SQL 文件;tee
:记录mysql>
命令提示符下的标准输出到指定文件;notee
:取消tee
的记录功能;status
:查看服务器的状态属性信息;connect
:重新连接当前 MySQL 服务;system
:在mysql>
命令提示符下执行 shell 命令;use
:切换到指定的数据库;help contents
:获取可以在服务端使用的命令;
评论区