从命令行连接到MySQL数据库

让我们了解如何使用命令行将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
(or)
mysql --port=13306 --protocol=TCP

每次调用客户端程序时,都可以在不在命令行上输入连接参数的情况下指定连接参数。