欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

详解MySQL与客户机的连接(1)

程序员文章站 2022-05-12 14:40:32
...

本文通过演示如何使用mysql客户程序与数据库服务器连接。mysql(有时称为“终端监视器”或只是“监视”)是一个交互式程序,允许你连接一个MySQL服务器,运行查询并察看结果。mysql可以用于批模式:你预先把查询放在一个文件中,然后告诉mysql执行文件的内容

本文通过演示如何使用mysql客户程序与数据库服务器连接。mysql(有时称为“终端监视器”或只是“监视”)是一个交互式程序,允许你连接一个MySQL服务器,运行查询并察看结果。mysql可以用于批模式:你预先把查询放在一个文件中,然后告诉mysql执行文件的内容。使用mysql的两个方法都在这里涉及。

为了看清由mysql提供的一个选择项目表了,用--help选项调用它:

shell> mysql --help

本章假定mysql已经被安装在你的机器上,并且有一个MySQL服务器你可以连接。如果这不是真的,联络你的MySQL管理员。(如果你是管理员,你将需要请教这本手册的其他章节。)

建立和中止与服务器的连接

1、如何使用客户机建立连接

为了连接到服务器,从外壳程序(即从 UNIX 提示符,或从 Windows 下的 DOS 控制台)激活 mysql 程序。命令如下:

shell>mysql

又如,直接连接一个数据库:

shell> mysql db_name

其中的“$”在本书中代表外壳程序提示符。这是 UNIX 标准提示符之一;另一个为“#”。在 Windows 下,提示符类似 “c:\>”。

2、客户机最常使用的选项:主机、用户和密码

为了连接服务器,当你调用mysql时,你通常将需要提供一个MySQL用户名和很可能,一个口令。如果服务器运行在不是你登录的一台机器上,你也将需要指定主机名。联系你的管理员以找出你应该使用什么连接参数进行连接(即,那个主机,用户名字和使用的口令)。一旦你知道正确的参数,你应该能象这样连接:

shell> mysql -h host -u user -p
Enter password: ********

********代表你的口令;当mysql显示Enter password:提示时输入它。

在刚开始学习 MySQL 时,大概会为其安全系统而烦恼,因为它使您难于做自己想做的事。(您必须取得创建和访问数据库的权限,任何时候连接到数据库都必须给出自己的名字和口令。)但是,在您通过数据库录入和使用自己的记录后,看法就会马上改变了。这时您会很欣赏 MySQL 阻止了其他人窥视(或者更恶劣一些,破坏!)您的资料。

下面介绍选项的含义:

-h host_name(可选择形式:--host=host_name)

希望连接的服务器主机。如果此服务器运行在与 mysql 相同的机器上,这个选项一般可省略。

-u user_name(可选择的形式:--user=user_name)

您的 MySQL 用户名。如果使用 UNIX 且您的 MySQL 用户名与注册名相同,则可以省去这个选项;mysql 将使用您的注册名作为您的 MySQL 名。

在 Windows 下,缺省的用户名为 ODBC。这可能不一定非常有用。可在命令行上指定一个名字,也可以通过设置 USER 变量在环境变量中设置一个缺省名。如用下列 set 命令指定 paul 的一个用户名:

-p(可选择的形式:--password)

这个选项告诉 mysql 提示键入您的 MySQL 口令。注意:可用 -pyour_password 的形式(可选择的形式:--password=your_password)在命令行上键入您的口令。但是,出于安全的考虑,最好不要这样做。选择 -p 不跟口令告诉 mysql 在启动时提示您键入口令。例如:

在看到 Enter password: 时,键入口令即可。(口令不会显到屏幕,以免给别人看到。)请注意,MySQL 口令不一定必须与 UNIX 或 Windows 口令相同。

如果完全省略了 -p 选项,mysql 就认为您不需要口令,不作提示。

请注意:-h 和 -u 选项与跟在它们后面的词有关,无论选项和后跟的词之间是否有空格。而 -p 却不是这样,如果在命令行上给出口令,-p 和口令之间一定不加空格。

例如,假定我的 MySQL 用户名和口令分别为 tom 和 secret,希望连接到在我注册的同一机器上运行的服务器上。下面的 mysql 命令能完成这项工作:

shell>mysql –u tom -p

在我键入命令后,mysql 显示 Enter password: 提示键入口令。然后我键入口令(****** 表明我键入了 secret)。

如果一切顺利的话,mysql 显示一串消息和一个“mysql>”提示,表示它正等待我发布查询。完整的启动序列如下所示:

为了连接到在其他某个机器上运行的服务器,需要用 -h 指定主机名。如果该主机为 mysql.domain.net,则相应的命令如下所示:

shell>mysql –h mysql.domain.net –u tom -p

在后面的说明 mysql 命令行的多数例子中,为简单起见,我们打算省去 -h、-u 和 -p 选项。并且假定您将会提供任何所需的选项。

有很多设置账号的方法,从而不必在每次运行 mysql 时都在连接参数中进行键入。这个问题在前面已经介绍过,你只需在选项文件中提供参数,具体请看3.2.2。您可能会希望现在就跳到该节,以便找到一些更易于连接到服务器的办法。

3、结束会话

在建立了服务器的一个连接后,可在任何时候键入下列命令来结束会话:

quit exit

还可以键入 Control-D 来退出,至少在 UNIX 上可以这样。