从命令行连接到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

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

  • 如果未指定主机或它是localhost,则会连接到本地主机。

  • 否则,连接将使用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。该命令将连接到在remote.example.com上运行的服务器,使用默认端口号(3306)。让我们来看一下实际操作:

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

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

更新于:2021年3月9日

4K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告