MySQL管理介绍

mysql

   在运行数据库系统时, MySQL的使用相当简单,且进行MySQL安装和使用所需的工作也很少。MySQL的简单性可能就是它极为普及的原因,尤其是在非程序员人群中的普及。当然,它对于训练有素的计算机专业人员也是有帮助的,但肯定不是对运行一个成功的MySQL安装程序的需求。
    然而,不论您是什么级别的专家, MySQL的安装程序都不能自动运行。必须有人来监视它以确保它能顺利和有效地运行,有时还必须知道当问题出现时应该做什么。如果问题偶然地落到了您的头上,要想确保MySQL的正常,应继续阅读本书。
    在本书的第三部分中,我们将讨论关于MySQL管理的各个方面。本章给出了您应当了解的,并包含在管理MySQL安装程序中的有关职责内容的概述,还提供了对这些职责的简单描述,并在后面的几章中给出执行它们的指导。
    如果您是一位新手或毫无经验的MySQL管理员,可千万别让本章出现的冗长的职责清单吓着。下面小节中所列出的每个任务都是重要的,但是,您不需要马上学习它们。如果您希望这样做的话,可将本章节的内容作为参考来使用,当感觉需要知道其内容时可查找这些
主题。
    如果您有管理其他数据库系统的经验,将会发现:运行MySQL的安装程序在某些方面是类似的,您的经验也是用得着的。但是MySQL的管理有自己独特的需求,本书的这个部分将帮助您熟悉这些内容。

管理职责概述

    MySQL数据库系统由几部分组成。您应该熟悉这些组成部分的内容和每个部分的目的。这需要您了解所管理系统的特征以及帮助您进行管理的可用工具。如果您花时间去了解了要监督的内容,工作将会变得非常容易。为此,您应当使自己熟悉MySQL的以下几个方面:
    MySQL服务器。服务器mysql执行数据库和表的所有操作。safe_mysqld 是一个相关的程序,它用于启动服务器、监控服务器和重新启动服务器。
    MySQL客户机和实用程序。有几个MySQL程序,可用来帮助您与服务器进行通信和执行管理的任务。其中最重要的几个是:
    mysql,一个交互式程序,允许将SQL 语句发布到服务器上并浏览其结果。
    mysqla d m i n,一个管理程序,允许执行诸如关闭服务器以及创建或删除数据库的工作。如果服务器运行不正常,还可以用mysqladmin 来检查服务器的状态。
    isamchk 和my i s a m c h k,这些实用程序帮助您完成表的分析和优化,以及在表损坏时进行崩溃恢复。
    mysqld um p,一个工具,用于备份数据库或将数据库拷贝到另一个服务器中。
    服务器的语言,SQL。有些管理职责只能用mysqladmin 的命令行实用程序来完成,但是,如果您还能用服务器自己的语言来同服务器进行对话,那就更好了。作为简单的例子,您可能需要查找用户特权不按您所希望的方式进行工作的原因。没有任何替代品能够参与并与服务器直接通信。可通过使用mysql客户机程序发布能够检验授权表的SQL 查询来做到这一点。如果您的MySQL版本还未引入GRANT 语句,则需要使用mysql首先设置每个用户的权限。
    如果您不知道SQL 的任何内容,至少必须对SQL要有基本的了解。缺乏对SQL 的熟悉只会给您带来困惑,而在学习SQL 上所花费的时间将会得到成倍的回报。真正掌握SQL 要花费一些时间,但掌握基本技能则很快。如果您需要了解对SQL 和mysql命令行客户机的介绍内容,请参阅第1章的“MySQL和SQL 介绍”
    MySQL数据目录。数据目录是服务器存储其数据库和状态文件的所在。了解数据目录的结构及内容是很重要的,您可以知道服务器是怎样使用文件系统来表现数据库和表的,以及像日志这样的文件的存放位置和其内容。还应该了解在文件系统中管理磁盘空间分配的选项,当发现放置数据目录的文件系统过满时可以进行调整。

常规管理

    常规管理主要指处理mysqld、MySQL服务器和提供给用户的访问服务器的操作。在履行该职责时,下列的任务是最重要的:
    服务器的启动和关闭。您应该能够从命令行中手工启动和终止服务器,并且在系统启动和关闭时知道怎样进行自动启动和关闭。如果服务器崩溃了或启动不正常的话,了解怎样使服务器再次运行也是重要的。
    用户账号维护。应该了解MySQL用户和UNIX 或Windows 用户之间的区别。应该知道怎样通过指定哪些用户可以连接到服务器和从哪里进行连接来建立MySQL用户账号。还应该给新的用户建议合适的连接参数,以使他们成功地连接到服务器。弄清应怎样建立账号不是用户们的工作。
    日志文件维护。应该了解可以维护的日志文件的类型,以及在何时和怎样完成日志文件的维护。日志的循环和终止对于防止日志填满文件系统是必要的。
    数据库备份和拷贝。数据库备份对服务器系统的崩溃是至关重要的。应该能够将数据库恢复到崩溃时的状态,以便尽可能地减少数据的丢失。请注意,数据库备份与常规的系统备份不同,例如,可通过使用UNIX 的dump 程序来进行。与数据库表相对应的文件在系统备份发生时随服务器活动而变化,因此恢复那些文件将使您的表内部不一致。mysqldump 程序将产生对恢复数据库更有用的备份文件,并允许在不关闭服务器的状态下创建备份。
    如果决定在更快的主机上运行数据库,或者想复制数据库,则需要拷贝其内容到另一台机器上。如果需要的话,应该了解进行这项操作的过程。数据库文件是依赖于系统的,因此您不能只拷贝这些文件。
    服务器优化。用户想要服务器以最佳状态运行。提高服务器运行性能的最简单方法是购买更多的内存或使磁盘速度更快。但是,这种直截了当的技术并不能代替对服务器工作的了解。应该了解优化服务器操作所用的参数以及如何将这些参数应用在您的环境中。在某些站点中,大多数查询都是检索。而在另一些站点,插入和更新操作占据着优势。选择对哪些参数进行修改将受到站点查询的影响。
    多服务器。在某些环境中运行多服务器是有用的。如果保留当前的成品安装程序在适当的位置,或者为不同的用户组提供较好的保密性(后者与ISP 尤其相关),则可以测试新的MySQL版本。对于这些情形,您应该了解怎样建立多个同时发生的安装。
    MySQL更新。由于新的MySQL版本频繁出现,应该知道怎样始终跟上这些版本以便利用故障修复和新的特性。需要了解不进行版本升级的理由,并且掌握怎样在稳定版本和开发者版本之间进行选择。

安全性

    当运行MySQL安装程序时,确保用户所存储的数据的安全性是很重要的。MySQL管理员有责任控制对数据目录和服务器的访问,并应了解以下的问题:
    文件系统的安全性。UNIX 机器可能会使几个用户账号成为宿主账号,而这些账号都没有与MySQL相关的管理职责。确保这些账号没有对数据目录的访问是重要的。因为这样可以防止它们通过拷贝数据库表或移动数据库表,或者通过能够读取包含敏感信息的日志文件来损坏文件系统级的数据。您应该知道如何建立MySQL服务器的UNIX用户账号,如何建立该用户所拥有的数据目录,以及如何启动服务器以便利用该用户的权限运行。
    服务器的安全性。必须了解MySQL的安全系统是怎样进行工作的,以便在建立用户账号时授予适当的权限。通过网络连接到服务器的用户只允许做他们应该做的事情。您不要由于对安全系统的错误理解,将超级用户的访问权授予匿名用户。

数据库修复和维护

    所有的MySQL管理员都希望避免处理破坏的或毁坏的数据库表。但是愿望不能代替现实。以下几个步骤可以使您在问题发生时减少风险并学会怎样处理问题:
    崩溃恢复。如果尽管您做了最好的努力但灾难还是降临了,则应该知道如何修复或恢复表。很少会用到崩溃恢复,但当使用它时,它是一个令人讨厌的、高强度的工作(尤其是当您正在忙乱地修正某些内容时,电话铃响了或有人敲门)。然而,您必须知道怎样处理它,否则用户将会很不高兴。要熟悉isamchk 和myisamchk 的表的检查以及修复能力;要知道如何尽可能地从备份文件中恢复,并且知道怎样使用该更新日志来恢复备份之后所产生的修改。
    预防性维护。预防性维护的常规程序应适当地进行安置,以使数据库破坏和毁坏的可能性最小化。当然,您还要进行备份,但是,预防性维护将减少使用这些备份的机会。
    以上综合地概括了作为MySQL管理员应承担的职责。第10章将详细讨论这些职责并提供操作过程,以便有效地履行这些职责。我们将首先讨论MySQL数据目录,这是您正在管理的资源,因此应该了解其布局和内容。然后再讨论常规的管理职责、MySQL安全系统,以
及维护和故障排除。

时间: 2024-11-03 22:13:31

MySQL管理介绍的相关文章

MySQL管理工具MySQL Utilities的介绍及安装教程

MySQL Utilities介绍 MySQL Utilities 提供一组命令行工具用于维护和管理 MySQL 服务器,包括:     管理工具 (克隆.复制.比较.差异.导出.导入)     复制工具 (安装.配置)     一般工具 (磁盘使用情况.冗余索引.搜索元数据) MySQL Utilities是一系列的命令行工具以及Python库更容易完成管理的任务.库是用Python语言写的,这就意味着不需要安装其他任何工具和库.当前是基于Python2.6版本设计的,不支持Python3.1

MySQL 管理_Mysql

对于内容驱动的网站,设计好坏的关键是关系型数据库.在这个教程中,我们已经使用了MySQL关系型数据库管理系统(RDBMS)建立了我们的数据库.对于网站的开发者来说,MySQL是一个较受欢迎的选择,这不仅是因为它对于任何平台上的非商业应用都是免费的,而且也因为它的架设和使用非常的简单.正如我们在第一章中所看到的那样,根据正确的指导,一个新的用户可以在不超过30分钟的时间内架设好一个MySQL服务,并将其运行起来(对于一个有经验的用户甚至只要10分钟!). 如果你想做的仅仅是架设一个MySQL服务环

Flex中的MySQL管理

学习使用RIA Framework Flex创建MySQL管理UI PHPMyAdmin的出现震撼了业界,这毫无疑问.它当然是基于PHP的最佳应用程序,因为它将MySQL管理界面由命令行的形式改为了web浏览器的形式.不过,虽然它的功能很强大,但使用并不太方便,界面也不够美观.因此,我尝试通过Rich Internet Application框架设计更理想的MySQL前台管理程序. 要达成此目标本可选用Ajax.但我不想处理客户端的不兼容问题.当然,Silverlight也是不错的选择,但它仍不

JavaScript内存管理介绍

 这篇文章主要介绍了JavaScript内存管理介绍,本文讲解了内存生命周期.JavaScript的内存分配.通过函数调用的内存分配.当内存不再需要使用时释放等内容,需要的朋友可以参考下     简介 低级语言,比如C,有低级的内存管理基元,想malloc(),free().另一方面,JavaScript的内存基元在变量(对象,字符串等等)创建时分配,然后在他们不再被使用时"自动"释放.后者被称为垃圾回收.这个"自动"是混淆并给JavaScript(和其他高级语言)

mysql-《疯狂java实战演义》里面的第十三章MySQL管理器程序有没有做出往数据库导入Excel表的?

问题描述 <疯狂java实战演义>里面的第十三章MySQL管理器程序有没有做出往数据库导入Excel表的? 本人想在MySQL管理器程序源代码里面加上导入表的代码,但是总是失败,想向个位请教一下,有人这么做过吗,能否给一下代码,谢谢! 解决方案 http://download.csdn.net/detail/qianfu123/3589697 源代码,自己下

python利用mysql管理大数据集方便吗?

问题描述 python利用mysql管理大数据集方便吗? 使用python处理数据的时候生成的大批量的List数据集怎样保存比较方便呢?就是退出python后下次再进入python时不用再从外部文件重新读取数据集--因为我的数据量实在是太大,每次打开就再读一遍实在是太耗时间--所以我想用msqldb模块管理数据,不知道在数据存取.查询方面方不方便呢?有没有好的相关教程推荐的?谢谢啦 解决方案 你要是真的很大,可以考虑hive来做mysql的映射啊

护卫神 主机管理系统使用说明(MySQL管理)_win服务器

感谢大家使用[护卫神·主机管理系统]V3.1,该版本支持在Windows Server 2003/2008/2012,含32位和64位,直接开设配置WEB站.FTP站,以及SQL Server和MySQL,是您开设和管理虚拟主机的绝好帮手.     但是对于新用户可能在使用上有一些困难,因此请仔细阅读如下说明文档.   本文讲述 护卫神·主机管理系统 第三部分:[MySQL管理]       开设MySQL数据库页面总览,如图:     (1).数据库名:表示您要创建的MySQL的数据库名,请不

MySQL数据库系统的常规管理介绍

mysql|数据|数据库 在运行数据库系统时, MySQL的使用相当简单,且进行MySQL安装和使用所需的工作也很少.然而,不论您是什么级别的专家,MySQL的安装程序都不能自动运行.必须有人来监视它以确保它能顺利和有效地运行,有时还必须知道当问题出现时应该做什么.而MySQL的管理有自己独特的需求,本文将帮助您熟悉这些内容. 管理职责概述 MySQL数据库系统由几部分组成.您应该熟悉这些组成部分的内容和每个部分的目的.这需要您了解所管理系统的特征以及帮助您进行管理的可用工具.如果您花时间去了解

MySQL程序设计介绍

    在本书的这部分中,我们将讨论编写自己的访问MySQL数据库的程序所需要知道的内容.MySQL有一组实用程序.例如, mysqldump 导出表的上下文和结构定义, mysqlimport将数据文件加载到表中, mysqladmin 实现管理w操作, mysql可以使用户与服务器交互来执行任意的查询.每个标准的MySQL实用程序都倾向于小巧,重点放在程序可完成特定的.有限的功能.即使mysql也是如此,从感觉上说, mysql比其他实用程序更灵活,因此可以用它来执行任何数量的各种查询,即它