MYSQL培训经典教程第三章文档格式.doc

上传人:wj 文档编号:1449619 上传时间:2023-04-30 格式:DOC 页数:35 大小:258.50KB
下载 相关 举报
MYSQL培训经典教程第三章文档格式.doc_第1页
第1页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第2页
第2页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第3页
第3页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第4页
第4页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第5页
第5页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第6页
第6页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第7页
第7页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第8页
第8页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第9页
第9页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第10页
第10页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第11页
第11页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第12页
第12页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第13页
第13页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第14页
第14页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第15页
第15页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第16页
第16页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第17页
第17页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第18页
第18页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第19页
第19页 / 共35页
MYSQL培训经典教程第三章文档格式.doc_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MYSQL培训经典教程第三章文档格式.doc

《MYSQL培训经典教程第三章文档格式.doc》由会员分享,可在线阅读,更多相关《MYSQL培训经典教程第三章文档格式.doc(35页珍藏版)》请在冰点文库上搜索。

MYSQL培训经典教程第三章文档格式.doc

safe_mysqld将服务器的标准错误输出重定向到数据库目录中的错误文件中,并以记录的形式存在。

启动服务器后,safe_mysqld还监控服务器,并在其死机时重新启动。

safe_mysqld通常用于Unix的BSD风格的版本。

如果,你曾经为root或在系统启动程序中启动safe_mysqld,其错误日志将有root拥有。

如果再用非特权的用户身份调用safe_mysqld,则可能引起“AccessDenied”(即,“所有权被拒绝”)的错误。

此时可以删除错误文件在试一次。

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

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

对于Unix平台上的分发,如果你以root或在系统引导期间启动sqfe_mysqld,出错日志由root拥有,这可能在你以后试图用一个非特权用户调用safe_mysqld时将导致“permissiondenied”(权限拒绝)错误,删除出错日志再试一下。

因此建议你在启动服务器前,首先切换到一个专门的用户mysql。

具体方法如下:

lUnix平台

$sumysql

$safe_mysql&

(或者mysqld&

,不推荐)

lWin32平台

C:

\mysql\bin>

mysqld--standalone

或者C:

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选项,因此可以将上面的代码修改为:

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.serverstart

$mysql.serverstop

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/f”文件中增加mysql.server的选项。

一个典型的“/etc/f”文件可能看起来像这样:

[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脚本的重要性在于你可以使用它配置一个随操作系统自动启动的数据库安装,这是一个实际的系统中常用的方法。

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

#cd/etc/rc.d/init.d

#cp/usr/local/mysql/support-files/mysql.servermysql

l接着把它的属性改为“x”(executable,可执行)

#chmod+xmysql

l最后,运行chkconfig把MySQL添加到你系统的启动服务组里面去。

#/sbin/chkconfig--delmysql

#/sbin/chkconfig--addmysql

你也可以这样做,手工建立链接:

#cd/etc/rc.d/rc3.d(根据你的运行级不同而不同,可以是rc5.d)

#ln–s../init.d/mysqlS99mysql

在系统启动期间,S99mysql脚本利用start参数自动启动。

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

日常维护数据库,经常需要关闭或者重新启动数据库服务器。

mysql.serverstop只能用于关闭数据库系统,并不方便,而且mysql.server脚本用特定用户身份启动服务器,因此使用该教本需要超级用户的权限。

相比之下mysqladmin就方便的多,并且适用于MySQL所有类型、平台的安装。

l关闭数据库服务器

mysqladminshutdown

l重启数据库服务器

mysqladminreload

l获得帮助

mysqladmin–help

mysqladmin实用程序非常有使用价值,仔细阅读帮助输出,你会得到更多的用法。

如果出现下面的错误:

mysqladmin:

connecttoserverat'

localhost'

failed

error:

'

Accessdeniedforuser:

root@localhost'

(Usingpassword:

YES)'

表示你需要一个可以正常连接的用户,请指定-u-p选项,具体方法与3.2节介绍相同,在第七章中你将会学到用户授权的知识。

例如,你现在可以:

shell>

mysqladmin-uroot-pshutdown

EnterPassword:

***********

输入你在阅读第二章时修改过的密码即可。

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

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

1、将MySQL安装成系统服务

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

C:

mysqld-nt--install

(你可以在NT上使用mysqld或mysqld-opt服务器,但是那些不能作为一种服务启动或使用命名管道。

2、修改选项文件

如果你的mysql没有安装缺省的位置c:

\mysql,那么因为数据库将无法确定数据库目录的位置,而无法启动。

这种情况下,你需要提供一个全局的选项文件c:

\f。

将安装目录中的my-f文件拷贝到c盘根目录下。

修改或加入:

basedir=x:

/path/to/mysql/

3、启动、停止服务器的方法

你可以用下列命令启动和停止MySQL服务:

NETSTARTmysql

NETSTOPmysql

注意在这种情况下,你不能对mysqld-nt使用任何其他选项!

你需要使用选项文件提供参数。

可以在选项文件中提供合适的参数。

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

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

对于全局选项文件(windows:

/f或者unix:

/etc/f),比较重要的选项有:

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.2MySQL与客户机的连接

本章通过演示如何使用mysql客户程序与数据库服务器连接。

mysql(有时称为“终端监视器”或只是“监视”)是一个交互式程序,允许你连接一个MySQL服务器,运行查询并察看结果。

mysql可以用于批模式:

你预先把查询放在一个文件中,然后告诉mysql执行文件的内容。

使用mysql的两个方法都在这里涉及。

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

mysql--help

本章假定mysql已经被安装在你的机器上,并且有一个MySQL服务器你可以连接。

如果这不是真的,联络你的MySQL管理员。

(如果你是管理员,你将需要请教这本手册的其他章节。

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

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

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

命令如下:

mysql

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

mysqldb_name

其中的“$”在本书中代表外壳程序提示符。

这是UNIX标准提示符之一;

另一个为“#”。

在Windows下,提示符类似“c:

\>

”。

2、客户机最常使用的选项:

主机、用户和密码

为了连接服务器,当你调用mysql时,你通常将需要提供一个MySQL用户名和很可能,一个口令。

如果服务器运行在不是你登录的一台机器上,你也将需要指定主机名。

联系你的管理员以找出你应该使用什么连接参数进行连接(即,那个主机,用户名字和使用的口令)。

一旦你知道正确的参数,你应该能象这样连接:

mysql-hhost-uuser-p

Enterpassword:

********

********代表你的口令;

当mysql显示Enterpassword:

提示时输入它。

在刚开始学习MySQL时,大概会为其安全系统而烦恼,因为它使您难于做自己想做的事。

(您必须取得创建和访问数据库的权限,任何时候连接到数据库都必须给出自己的名字和口令。

)但是,在您通过数据库录入和使用自己的记录后,看法就会马上改变了。

这时您会很欣赏MySQL阻止了其他人窥视(或者更恶劣一些,破坏!

)您的资料。

下面介绍选项的含义:

-hhost_name(可选择形式:

--host=host_name)

希望连接的服务器主机。

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

l-uuser_name(可选择的形式:

--user=user_name)

您的MySQL用户名。

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

mysql将使用您的注册名作为您的MySQL名。

在Windows下,缺省的用户名为ODBC。

这可能不一定非常有用。

可在命令行上指定一个名字,也可以通过设置USER变量在环境变量中设置一个缺省名。

如用下列set命令指定paul的一个用户名:

l-p(可选择的形式:

--password)

这个选项告诉mysql提示键入您的MySQL口令。

注意:

可用-pyour_password的形式(可选择的形式:

--password=your_password)在命令行上键入您的口令。

但是,出于安全的考虑,最好不要这样做。

选择-p不跟口令告诉mysql在启动时提示您键入口令。

例如:

在看到Enterpassword:

时,键入口令即可。

(口令不会显到屏幕,以免给别人看到。

)请注意,MySQL口令不一定必须与UNIX或Windows口令相同。

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

请注意:

-h和-u选项与跟在它们后面的词有关,无论选项和后跟的词之间是否有空格。

而-p却不是这样,如果在命令行上给出口令,-p和口令之间一定不加空格。

例如,假定我的MySQL用户名和口令分别为tom和secret,希望连接到在我注册的同一机器上运行的服务器上。

下面的mysql命令能完成这项工作:

mysql–utom-p

在我键入命令后,mysql显示Enterpassword:

提示键入口令。

然后我键入口令(******表明我键入了secret)。

如果一切顺利的话,mysql显示一串消息和一个“mysql>

”提示,表示它正等待我发布查询。

完整的启动序列如下所示:

为了连接到在其他某个机器上运行的服务器,需要用-h指定主机名。

如果该主机为,则相应的命令如下所示:

mysql–h–utom-p

在后面的说明mysql命令行的多数例子中,为简单起见,我们打算省去-h、-u和-p选项。

并且假定您将会提供任何所需的选项。

有很多设置账号的方法,从而不必在每次运行mysql时都在连接参数中进行键入。

这个问题在前面已经介绍过,你只需在选项文件中提供参数,具体请看3.2.2。

您可能会希望现在就跳到该节,以便找到一些更易于连接到服务器的办法。

3、结束会话

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

quitexit

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

3.2.2利用选项文件简化连接

在激活mysql时,有可能需要指定诸如主机名、用户名或口令这样的连接参数。

运行一个程序需要做很多输入工作,这很快就会让人厌烦。

利用选项文件可以存储连接参数,减少输入工作。

例如,对于使用mysqladmin客户机来管理数据库,那么你很快会厌烦每次使用这么长的命令行:

mysql–uroot–pvarialbles

*********

你也许会选择使用全局选项文件来存贮你的参数:

[mysqladmin]

#也可以用[client],为所有的客户机存储参数

user=root

password=yourpassword

这样执行mysqladminvariables就不会显示任何存储拒绝的错误,并且你可以用root用户身份维护数据库了。

且慢,你立刻会发现,这样做是一个很大的安全漏洞,因为任何可以读取选项文件的用户都可以获得你的密码!

解决方法是,只提供password选项不提供密码:

[mysqladmin]

password

这样你在命令行执行时,会提示你数据密码:

mysqlvarialbles

但是,你不能不提供password选项,否则你还是要在命令行中提供-p选项。

3.2.3利用mysql的输入行编辑器

mysql具有内建的GNUReadline库,允许对输入行进行编辑。

可以对当前录入的行进行处理,或调出以前输入的行并重新执行它们(原样执行或做进一步的修改后执行)。

在录入一行并发现错误时,这是非常方便的;

您可以在按Enter键前,在行内退格并进行修正。

如果录入了一个有错的查询,那么可以调用该查询并对其进行编辑以解决问题,然后再重新提交它。

(如果您在一行上键入了整个查询,这是最容易的方法。

表2-1中列出了一些非常有用的编辑序列,除了此表中给出的以外,还有许多输入编辑命令。

利用因特网搜索引擎,应该能够找到Readline手册的联机版本。

此手册也包含在Readline分发包中,可在http:

//www.gnu.org/的GnuWeb站点得到。

表2-1mysql输入编辑命令

键序列

说明

Up箭头,Ctrl-p

调前面的行

Down箭头,Ctrl-N

调下一行

Left箭头,Ctrl-B

光标左移(向后)

Right箭头,Ctrl-F

光标右移(向前)

EscapeCtrl-B

向后移一个词

EscapeCtrl-F

向前移一个词

Ctrl-A

将光标移到行头

Ctrl-E

将光标移到行尾

Ctrl-D

删除光标下的字符

Delete

删除光标左边的字符

EscapeD

删词

EscapeBackspace

删除光标左边的词

Ctrl-K

删除光标到行尾的所有字符

Ctrl-_

撤消最后的更改;

可以重复

下面的例子描述了输入编辑的一个简单的使用。

假定用mysql输入了下列查询:

如果在按Enter前,已经注意到将“president”错拼成了“persident”,则可按左箭头或Ctrl-B多次移动光标到“s”的左边。

然后按Delete两次删除“er”,键入“re”改正错误,并按Enter发布此查询。

如果没注意到错拼就按了Enter,也不会有问题。

在mysql显示了错误消息后,按上箭头或Ctrl-P调出该行,然后对其进行编辑。

输入行编辑在mysql的Windows版中不起作用,但是可从MySQLWeb站点取得免费的cygwin_32客户机分发包。

在该分发包中的mysqlc程序与mysql一样,但它支持输入行编辑命令。

3.2.4批处理模式连接

在前面的章节中,你交互式地使用mysql输入查询并且查看结果。

你也可以以批模式运行mysql。

为了做到这些,把你想要运行的命令放在一个文件中,然后告诉mysql从文件读取它的输入:

mys

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2