MySQL自带客户端的使用

MySQL自带客户端的使用

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:

本地套接字连接

使用本地套接字连接的前提是使用的用户拥有本地连接数据库的权限,执行命令如下:

$ 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:获取可以在服务端使用的命令;

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.zze.xyz/archives/mysql-client-usage.html

Buy me a cup of coffee ☕.