从命令行连接到 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 (或) mysql --port=13306 --protocol=TCP
可以指定连接参数,而无需每次调用客户端程序时都在命令行中输入它们。