像程序员一样使用MySQL
上QQ阅读APP看书,第一时间看更新

1.2.4 命令行连接MySQL

除了使用MySQL客户端连接MySQL数据库外,还有一种连接方法在工作中也经常使用,就是使用命令行窗口,如图1-20所示。对于Windows操作系统,使用CMD命令打开【命令提示符】窗口;对于macOS操作系统,可以打开【终端】窗口,并在窗口中输入如下命令:

     $> mysql -h localhost -u root -p
     Enter password: ********

说明:

  • mysql是MySQL数据库提供的命令,用于连接MySQL数据库。
  • -h、-u以及-p是mysql命令需要的参数,-h后面填主机名,例如127.0.0.1或者localhost(本机);-u后面填用户名,例如root;-p后面可以填密码,但是MySQL建议我们不要填写,以防止密码泄漏,我们可以在Enter password后填写root用户对应的密码。

图1-20 MySQL多种连接方式

上述命令执行后,将看到如下信息:

     $> mysql -h host -u user -p
     Enter password: ********
     Welcome to the MySQL monitor.  Commands end with ; or \g.
     Your MySQL connection id is 25338 to server version: 8.0.29-standard
  
     Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  
     mysql>

说明:

  • mysql>提示符:告诉我们MySQL已准备好让MySQL输入SQL语句了,也表示通过命令行的方式成功连接了MySQL数据库。

如果想深入学习mysql命令的使用,可以执行mysql --help命令,该命令会详细介绍mysql命令每个参数的作用,具体内容如下:

     $> mysql --help
     mysql  Ver 8.0.17 for osx10.14 on x86_64 (Homebrew)
     Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
  
     Oracle is a registered trademark of Oracle Corporation and/or its
     affiliates. Other names may be trademarks of their respective
     owners.
  
     Usage: mysql [OPTIONS] [database]
       -?, --help          Display this help and exit.
       -I, --help          Synonym for -?
       --auto-rehash       Enable automatic rehashing. One doesn't need to use
                          'rehash' to get table and field completion, but startup
                          and reconnecting may take a longer time. Disable with
                          --disable-auto-rehash.
                          (Defaults to on; use --skip-auto-rehash to disable.)
       -A, --no-auto-rehash
                          No automatic rehashing. One has to use 'rehash' to get
                          table and field completion. This gives a quicker start of
                          mysql and disables rehashing on reconnect.
       --auto-vertical-output
                          Automatically switch to vertical output mode if the
                          result is wider than the terminal width.
       -B, --batch         Don't use history file. Disable interactive behavior.
                          (Enables --silent.)
       --bind-address=name IP address to bind to.
  
  
     ...省略大量代码

如果需要退出命令行窗口,可以执行exit命令,具体如下:

     mysql> exit
     Bye

注意 虽然使用MySQL客户端可以很方便地连接MySQL数据库,但是命令行的方式是一名合格的程序员必须掌握的技能。因为在真正的工作中,我们常常会碰到服务器没有安装任何MySQL客户端的情况,原因是运维不让安装或者服务器无法安装等,所以只能通过命令行的方式连接MySQL,并在命令行窗口中执行相关的查询动作。