从命令行连接到 MySQL 数据库

mysqlmysqli database

让我们了解如何使用命令行将 MySQL 连接到数据库。这适用于 mysql 或 mysqldump 等客户端。

以下命令调用 mysql 而不指定任何显式连接参数 −

mysql

由于没有参数选项,将应用默认值 −

  • 默认主机名是 localhost。

  • Windows 上的默认用户名是 ODBC。

  • 没有发送密码,因为没有提到 --password 或 -p。

对于 mysql,第一个非选项参数被视为默认数据库的名称。由于没有这样的参数,mysql 不会选择默认数据库。

要具体指定主机名、用户名和密码,请在命令行上提供适当的选项。要选择默认数据库,请添加数据库名称参数。让我们使用以下命令查看 −

mysql --host=localhost --user=myname --password=password mydb
mysql -h localhost -u myname -ppassword mydb

客户端程序确定需要建立的连接类型 −

  • 如果未指定主机或主机为本地主机,则将连接到本地主机

  • 否则,连接将使用 TCP/IP。

为了确保客户端与本地服务器建立 TCP/IP 连接,需要指定 ‘—host’ 或 ‘-h’,主机名值为 127.0.0.1(而不是 localhost)。除此之外,还可以提及本地服务器的 IP 地址或名称。可以使用 --protocol=TCP 选项明确提及传输协议。让我们通过示例来看一下 −

示例

mysql --host=127.0.0.1
mysql --protocol=TCP

在 Windows 上,可以强制 MySQL 客户端使用命名管道连接。这可以通过指定 --pipe 或 --protocol=PIPE 选项来实现。否则,也可以将 .(句点)作为主机名提及。

与远程服务器的连接将使用 TCP/IP。该命令将使用默认端口号 (3306) 连接到在 remote.example.com 上运行的服务器。让我们看看它的实际作用 −

mysql --host=remote.example.com

要明确指定端口号,可以使用 --port 或 -P 选项。让我们看看如何做到这一点 −

mysql --host=remote.example.com --port=13306

要使用端口号,请强制 TCP/IP 连接。可以使用以下任何一种方式 −

mysql --port=13306 --host=127.0.0.1
(或)
mysql --port=13306 --protocol=TCP

可以指定连接参数,而无需每次调用​​客户端程序时都在命令行中输入它们。


相关文章