欢迎来到专业的阿达文秘网平台! 工作总结 工作计划 心得体会 自查报告 事迹材料 述职报告 发言稿 策划方案
当前位置:首页 > 范文大全 > 公文范文 > 正文

MySQL金典培训教程:06第三章(完整文档)

时间:2022-10-26 08:10:17 来源:网友投稿

下面是小编为大家整理的MySQL金典培训教程:06第三章(完整文档),供大家参考。

MySQL金典培训教程:06第三章(完整文档)

 

 MySQL 金典培训教程:06 第三章

 本章要点:

  服务器的启动  客户机与服务器的连接  一些 SQL 语句的功能  一些专用客户机的使用

 在我们阅读了前两章,了解了 MySQL 同时安装成功 MySQL 服务器之后,能够开始学习那个强大而复杂的系统。

 客户机/服务器的体系结构是 MySQL 的特点之一,我们第一需要熟悉 MySQL 客户机和服务器的使用,了解客户机如何与服务器连接。

 客户机使用 SQL 语言与 MySQL 服务器通信。为了与 MySQL 服务器进行通信,必须熟练把握 SQL。例如,在使用诸如 mysql 客户机如此的程序时,其功能第一是作为一种发送 SQL 语句给服务器执行的工具。而且,假如编写使用编程语言所提供的 MySQL 接口的程序时,也必须熟悉 SQL 语言,因为需要发送 SQL 语句与服务器沟通。

 本章也将对大部分 SQL 语句作一个详细的描述。本章涉及的 SQL 语句多数差不多上和数据的储备、检索有关,其它少量的 SQL 语句将在其它各章连续介绍。

  3.1 MySQL 的启动与终止 由于 MySQL 服务器具有多种安装分发,而且能够运行在多种操作平台之上,因此它的启动与停止的方法也多种多样。你能够依照实际情形使用其中的一种。在你安装、升级或者爱护系统时,

 数 据 库 的 差 不 多 操 作

 你可能需要多次启动和终止服务器,你需要了解启动和终止服务器的方方面面。

 3.1.1 直截了当运行守护程序

 1 、你能够采纳的方法

 一样的,你能够有以下几种选择启动 MySQL 服务器,它们的功能和用法几乎是相同的,因此一起在那个地点介绍:

  直截了当使用 MySQL 守护程序 mysqld 启动数据库系统,专门是 Win32 平台上的分发,这是因为,在 Win32 平台上没有 mysql.server 等服务器脚本可用。

  通过调用 safe_mysqld 脚本,它同意与 mysqld 相同的参数,并试图为 mysqld 决定正确的选项,然后选择用那些运行它。

 2 、脚本或者守护程序的存放位置

 关于二进制分发的安装,mysqld 守护程序安装在 MySQL 安装名目的 bin 名目下,或者可在MySQL 源代码分发的 libexec 名目下找到,缺省为/usr/local/libexec/。关于 rpm 分发,mysqld 应该位于 PATH 变量决定的程序搜索路径中,因此能够直截了当引用。

 safe_mysqld 仍旧是一个脚本,同时只存在于 Unix 平台的分发中。safe_mysqld 脚本安装在MySQL 安装名目的 bin 名目下,或可在 MySQL 源代码分发的 scripts 名目下找到。关于 rpm 分发,该脚本应该位于 PATH 变量决定的程序搜索路径中,因此能够直截了当引用。

 3 、什么缘故要使用 safe_mysqld 脚本

 safe_mysqld 同意和 mysqld 同样的参数,并试图确定服务器程序和数据库名目的位置,然后利用这些位置调用服务器。safe_mysqld 将服务器的标准错误输出重定向到数据库名目中的错误文件中,并以记录的形式存在。启动服务器后,safe_mysqld 还监控服务器,并在其死机时重新启动。safe_mysqld 通常用于 Unix 的 BSD 风格的版本。

 假如,你曾经为 root 或在系统启动程序中启动 safe_mysqld,其错误日志将有 root 拥有。假如再用非特权的用户身份调用 safe_mysqld,那么可能引起〝Access Denied〞(即,〝所有权被拒绝〞)的错误。现在能够删除错误文件在试一次。

 由于 safe_mysqld 脚本的功能,使用 safe_mysqld 脚本明显比直截了当启动 mysqld 守护程序来得有效。

 4 、启动服务器的完整过程

 关于 Unix 平台上的分发,假如你以 root 或在系统引导期间启动 sqfe_mysqld,出错日志由 root拥有,这可能在你以后试图用一个非特权用户调用 safe_mysqld 时将导致〝permission denied〞〔权限拒绝〕错误,删除出错日志再试一下。因此建议你在启动服务器前,第一切换到一个专门的用户mysql。

 具体方法如下:

  Unix 平台 $ su mysql $ safe_mysql & 〔或者 mysqld & ,不举荐〕  Win32 平台

  C: \ mysql\bin>mysqld --standalone

  或者 C: \ mysql\bin>mysqld-nt –standalone 假如你使用 mysqld 同时没有把 mysql 安装在标准的位置,通常需要提供—basedir 选项你的数据库的安装位置。

 $safe_mysqld --basedir=〞/path/to/mysql〞 &〔Unix 平台〕 c:\mysql\bin>mysqld --basedir=〞x:/path/to/mysql〞 (Win32 平台)

 5 、使用 safe_mysqld 脚本实现服务器的自动启动

 同样你能够利用 safe_mysqld 和 mysqld 实现服务器随操作系统自动启动。关于 Linux 系统以及BSD 风格的系统〔FreeBSD,OpenBSD 等〕〕,通常在/etc 名目下有几个文件在引导时初始化服务,这些文件通常有以〝rc〞开头的名字,且它有可能由一个名为〝rc.local〞的文件〔或类似的东西〕,专门用于启动本地安装的服务。

 在如此的系统上,你可能将类似于以下的行加入 rc.local 文件中以启动服务器〔假如safe_mysqld 的名目在你的系统上不同,修改它即可〕:

 if [ -x /usr/local/bin/safe_mysqld ]; then /usr/local/bin/safe_mysqld & fi 由于如此在引导时启动,将使用 root 身份启动数据库,在某些时候可能会产生问题和苦恼。这是你能够指定--user 选项,因此能够将上面的代码修改为:

 if [ -x /usr/local/bin/safe_mysqld ]; then

 /usr/local/bin/safe_mysqld --user=mysql --datadir=/path/to/data

 &

 fi 3.1.2 使用脚本 mysql.server 启动关闭数据库

 关于 Unix 平台上的分发,比较好的方法是使用数据库脚本 mysql.server,启动和关闭数据库。

 1 、 mysql.server 脚本的存放位置

 mysql.server 脚本安装在 MySQL 安装名目下的 share/mysqld 名目下或能够在 MySQL 源代码分发的 support_files 名目下找到。关于 rpm 分发,该脚本差不多改名 mysql 位于/etc/rc.d/init.d 名目中,另外在….中存在一个副本 mysql.server。下文的讨论对 RPM 分发来说,都在安装中完成了。假如你想使用它们,你需要将它们拷贝到适当的名目下。

 2 、如何使用 mysql.server 脚本启动停止服务器

 mysql.server 脚本能够被用来启动或停止服务器,通过用 start 或 stop 参数调用它:

 $ mysql.server start $ mysql.server stop 3 、 mysql.server 的功能简述

 在 mysql.server 启动服务器之前,它把名目改变到 MySQL 安装名目,然后调用 safe_mysqld。假如你有在一个非标准的地点安装的二进制分发,你可能需要编辑 mysql.server。修改它,运行safe_mysqld 前,cd 到正确的名目。

 4 、让 mysql.server 以特定的用户启动服务器

 假如你想要作为一些特定的用户运行服务器,你能够改变 mysql_daemon_user=root 行使用其他用户,你也能修改 mysql.server 把其他选项传给 safe_mysqld。

 因此你也能够利用选项文件给 mysql.server 脚本提供参数。

 你也能够在一个全局〝/etc/my.cnf〞文件中增加 mysql.server 的选项。一个典型的〝/etc/my.cnf〞文件可能看起来像如此:

 [mysqld] datadir=/usr/local/mysql/var socket=/tmp/mysqld.sock port=3306

 [mysql.server] user=mysql basedir=/usr/local/mysql

 mysql.server 脚本使用以下变量:user、datadir、basedir、bindir 和 pid-file。

 5 、利用 mysql.server 脚本让服务器自动启动

 mysql.server 脚本的重要性在于你能够使用它配置一个随操作系统自动启动的数据库安装,这是一个实际的系统中常用的方法。

  把 mysql.server 复制到/etc/rc.d/init.d 名目里面:

 # cd /etc/rc.d/init.d # cp /usr/local/mysql/support-files/mysql.server mysql  接着把它的属性改为〝x〞〔executable,可执行〕 # chmod +x mysql  最后,运行 chkconfig 把 MySQL 添加到你系统的启动服务组里面去。

 # /sbin/chkconfig --del mysql # /sbin/chkconfig --add mysql 你也能够如此做,手工建立链接:

 #cd /etc/rc.d/rc3.d

  (依照你的运行级不同而不同,能够是 rc5.d) #ln –s ../init.d/mysql S99mysql 在系统启动期间,S99mysql 脚本利用 start 参数自动启动。

 3.1.3 使用 mysqladmin 有用程序关闭、重启数据库

 日常爱护数据库,经常需要关闭或者重新启动数据库服务器。mysql.server stop 只能用于关闭数据库系统,并不方便,而且 mysql.server 脚本用特定用户身份启动服务器,因此使用该教本需要超级用户的权限。相比之下 mysqladmin 就方便的多,同时适用于 MySQL 所有类型、平台的安装。

  关闭数据库服务器 mysqladmin shutdown  重启数据库服务器 mysqladmin reload  获得关心 mysqladmin –help mysqladmin 有用程序专门有使用价值,认真阅读关心输出,你会得到更多的用法。

 假如显现下面的错误:

 mysqladmin: connect to server at "localhost" failed error: "Access denied for user: "root@localhost" (Using password: YES)" 表示你需要一个能够正常连接的用户,请指定-u -p 选项,具体方法与 3.2 节介绍相同,在第七章中你将会学到用户授权的知识。例如,你现在能够:

 shell>mysqladmin -u root -p shutdown Enter Password:*********** 输入你在阅读第二章时修改过的密码即可。

 3.1.4 启动或停止 NT 平台上的系统服务

 上面几节介绍了 Unix 平台上使数据库服务器自动启动的方法,而在 windows〔NT〕平台上为了让 MySQL 数据库自动启动,你需要将 MySQL 服务器安装成 NT 系统的一种服务。

 1 、将 MySQL 安装成系统服务

 关于 NT,服务器名字是 mysqld-nt。

 C:\mysql\bin> mysqld-nt --install 〔你能够在 NT 上使用 mysqld 或 mysqld-opt 服务器,然而那些不能作为一种服务启动或使用命名管道。〕 2 、修改选项文件

 假如你的 mysql 没有安装缺省的位置 c:\mysql,那么因为数据库将无法确定数据库名目的位置,而无法启动。这种情形下,你需要提供一个全局的选项文件 c:\my.cnf。将安装名目中的 my-example.cnf 文件拷贝到 c 盘根名目下。修改或加入:

 [mysqld] basedir = x:/path/to/mysql/ 3 、启动、停止服务器的方法

 你能够用以下命令启动和停止 MySQL 服务:

 NET START mysql NET STOP mysql 注意在这种情形下,你不能对 mysqld-nt 使用任何其他选项!你需要使用选项文件提供参数。能够在选项文件中提供合适的参数。

 3.1.5 使用选项文件提供服务器的参数

 本节介绍守护程序需要的比较重要的选项。

 关于全局选项文件〔windows:c:/my.cnf 或者 unix:/etc/my.cnf〕,比较重要的选项有:

 user 运行守护程序的用户,假如你使用 mysql.server,同时在[mysql.server]中指定了 user,那么那个选项没有必要。

 log-update=file 更新日志名,关于复原数据库有重要意义,数据库服务器将生成 file.n 为名的更新日志文件。

 -l, --log[=file]

 指定常规日志名 --log-bin[=file]

 指定使用的二进制日志文件,应用于服务器复制。

 -Sg, --skip-grant-tables

 启动时不加载授权表,爱护时使用。

 -u, --user=user_name

 启动服务器使用的 Unix 帐户 --socket=...

 指定是用的 Unix 套接字文件名,在同时运行多个服务器时使用。

 -P, --port=...

 指定服务器使用的端口,在同时运行多个服务器时使用。

 3.1.6 总结

 作为 MySQL 的治理员,你平常的指责确实是确保服务器尽可能的正常运行,使得客户机能够正常访问。本章讨论了如何启动和重启、关闭服务器,假如你具备了那个能力,就能够更好的爱护服务器安装。本章介绍的方法,多数适合于 Unix 系统,读者请认真辨论。

 3.2 MySQL 与客户机的连接 本章通过演示如何使用 mysql 客户程序与数据库服务器连接。mysql〔有时称为〝终端监视器〞或只是〝监视〞)是一个交互式程序,承诺你连接一个 MySQL 服务器,运行查询并观看结果。mysql 能够用于批模式:你预先把查询放在一个文件中,然后告诉 mysql 执行文件的内容。使用mysql 的两个方法都在那个地点涉及。

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

 shell> mysql --help

 本章假定 mysql 差不多被安装在你的机器上,同时有一个 MySQL 服务器你能够连接。假如这不是确实,联络你的 MySQL 治理员。〔假如你是治理员,你将需要请教这本手册的其他章节。〕

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

 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金典培训教程:06第三章 MySQL实训6