MySQL与MariaDB学习指南(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-13 00:43:55

点击下载

作者:罗素·戴尔(Russell J.T. Dyer)

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

MySQL与MariaDB学习指南

MySQL与MariaDB学习指南试读:

前言

MySQL 是当今最流行的开源数据库,高效且稳定,备受公众网站的青睐。即使你对它不熟悉,也可能天天都在跟它打交道。当你登录谷歌、亚马逊、Facebook 和维基百科等知名网站时,就会用到 MySQL。不仅许多大型网站用它保存数据,数之不尽的小网站也在用着它。此外,很多非网络应用也采用 MySQL 作为数据库。在需要时,它可以发挥快速、稳定和小巧的优点。

1995 年,MySQL 由 Michael“Monty”Widenius 和 David Axmark 创造,并使用 GNU 通用公共授权。当年他们在瑞典创立了 MySQL Ab(Ab 是瑞典语中的有限公司或股份公司),而该公司几年后又成了美国的 MySQL Inc.(英语 incorporated 的缩写)。直到 2008 年 1 月,它被 Sun 公司收购。尽管 Sun 说“我们绝对会大力发展 MySQL”,但在 2009 年 4 月,它自身却被 Oracle 收购了。因为 Oracle 是卖闭源数据库的,可以说是 MySQL 的一大竞争对手,所以当时很多人担心 MySQL 这个改变世界的开源软件会就此被扼杀。不过事实证明,在收购五年之后,这种情况都没有发生。我们可以看到,现在 MySQL 的功能更加丰富了,而其相关的开发者(无论是在 Oracle 内部还是外部)数量也增加了不少。

出于对 Oracle 收购的不爽,Monty 又开了一家新公司——Monty Program Ab,它在 MySQL 的基础上开发出了一个分支——1MariaDB。 因为 MySQL 是遵循 GPL 协议的,所以使用它或往它身上添加东西都是免费和合法的。与此同时,MySQL Inc. 服务部的前高级副总裁 Ulf Sandberg,以及 MySQL 的一班老员工,离开 Sun 和 Oracle,建立了 SkySQL Ab,为 MySQL 和 MariaDB 用户提供支持、咨询和培训等服务。2013 年 10 月,Monty Program Ab 合并到 SkySQL Ab 中,该公司在 2014 年 10 月改名为 MariaDB Ab。而 MariaDB 的授权认证则由 MariaDB 基金会控管,而不是 Oracle 或其他公司。

1. 顺便提一句,MySQL 的这个名字来源于 Monty Widenius 的第一个女儿,My Widenius。而 MariaDB 则源于其第二个女儿,Maria Widenius。

现在,有些相关的社区,因为不想与大型专利软件公司扯上关系,所以也将数据迁移到了 MariaDB。此外,不少操作系统发行版、硬件和软件包,也把自带的数据库改为 MariaDB(可能带上 MySQL,或完全不带)。因为替换并不困难,应用层不需修改任何代码(当然,如果你想使用 MariaDB 有而 MySQL 没有的功能,那就需要加入新的调用命令),所以许多网站也愿意追随这一潮流。

尽管所有权、公司名,甚至软件名经历多次变更,但这个软件在社区中相传近 30 年的精神与内涵却没有丢失。

MySQL 和 MariaDB 简单易懂,没有什么学习门槛。如果你想从头开始,并快速形成生产力,那么本书可以作为你的入门书。当然,对于稍有基础但未得要领的同学,本书也是非常合适的。因为 MySQL 和 MariaDB 的基本操作是一样的,所以这本入门书的内容同时适用于两者,你可将文中的 MySQL 理解为 MariaDB,反之亦可。阅读方法

一般来说,你应按本书的章节编排顺序读下去。但这并不是说你不能跳过某些章节。尤其是,很多人都会跳过第一部分。要是你已装好 MySQL,那么就可以不用看第 1 章(导论部分)和第 2 章(讲述如何安装 MySQL 和 MariaDB)了。要是你从未用过 MySQL,就不应该略过第 3 章。而之后的章节,除了第五部分(这部分的章节与管理技术有关,并非所有人马上都能用到),你都应该按顺序学习到底。

大多数章节最后都有一套练习题,它们可以帮助你思考之前读到的内容。通过完成这些习题,你会巩固在该章示例中学到的知识。另外,尝试练习所有章节中给出的示例,你会受益良多。各章后面的习题,就算不以前一章的知识为基础,也是以前面的章节为基础,所以你需要学好前面的知识,才能顺利完成它们。文字界面与操作系统

因为 Windows 的风行,导致很多人都以为,用 GUI(图形用户界面)来操作复杂的软件或系统是最快捷的做法。确实,一图胜千言,但如果你不是要表达很复杂的东西,是不需要图形的。换句话说,如果你只对数据库进行一些很小的改动,是不需要用 GUI 的。

尤其是,我不喜欢用 GUI 来操作 MySQL 或服务器,因为 GUI 每次更新换代都会变样,而命令行却十年如一日,处处通用。如果你知道如何从命令行配置服务器,那么就能轻松应对各种服务器。所以,本书的示例是文字界面的,它们应该在任何地方都能运行(其实仅限于 Unix 类的操作系统的命令行,如 Linux。如果你使用其他操作系统,请自己找办法调出命令行)。使用代码示例

本书的所有程序和脚本都可从 http://mysqlresources.com/files 下载,并任由复制和修改。

本书旨在帮助你学习 MySQL 和 MariaDB,或完成 MySQL 和 MariaDB 的相关工作。一般来说,如果本书提供了示例代码,你可以把它用在你的程序或文档中。除非你使用了很大一部分代码,否则无需联系我们获得许可。比如,用本书的几个代码片段写一个程序就无需获得许可,销售或分发 O'Reilly 图书的示例光盘则需要获得许可;引用本书中的示例代码回答问题无需获得许可,将书中大量的代码放到你的产品文档中则需要获得许可。

我们很希望但并不强制要求你在引用本书内容时加上引用说明。引用说明一般包括书名、作者、出版社和 ISBN。比如:“Learning MySQL and MariaDB by Russell J.T. Dyer (O'Reilly). Copyright 2015 Russell J.T. Dyer, 978-1-449-36290-4.”

如果你觉得自己对示例代码的用法超出了上述许可的范围,欢迎你通过 permissions@oreilly.com 与我们联系。®Safari Books Online

Safari Books Online(http://www.safaribooksonline.com)是应运而生的数字图书馆。它同时以图书和视频的形式出版世界顶级技术和商务作家的专业作品。技术专家、软件开发人员、Web 设计师、商务人士和创意专家等,在开展调研、解决问题、学习和认证培训时,都将 Safari Books Online 视作获取资料的首选渠道。

对于组织团体、政府机构和个人,Safari Books Online 提供各种产品组合和灵活的定价策略。用户可通过一个功能完备的数据库检索系统访问 O'Reilly Media、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett、Course Technology 以及其他几十家出版社的上千种图书、培训视频和正式出版之前的书稿。要了解 Safari Books Online 的更多信息,我们网上见。致谢

感谢我的同事 Colin Charles、Kenneth Dyer、Chad Hudson、Caryn-Amy Rose 和 Sveta Smirnova。如果没有他们对草稿中技术等各种问题的审阅和建议,本书是不可能完成的。感谢我的编辑 Andy Oram,对我寄予厚望并在我们相识的多年里一直支持着我。感谢我的两位上司——曾经历过 MySQL Ab 和 SkySQL/MariaDB Ab 的 Ulf Sandberg 和 Max Mether,在他们的英明领导下,我工作得非常愉快。同时,还要感谢我的同事兼好友 Rusty Osborne Johnson,他在本书的创作上也耐心地给予我不少帮助。第一部分软件

MySQL 和 MariaDB 最主要的部分是服务器。在这里,服务器指的是软件,而不是指运行这个软件的计算机。该服务器可以维护、控制和保护你的数据,将它们以各种格式存储在文件中,而这些文件正是放在运行服务器的计算机上。服务器监听来自其他软件的请求(这种情况下,这些软件被称为客户端)。在这里,客户端指的是软件,而不是计算机。客户端和服务器可以在同一台计算机上同时运行,该计算机可以是一台笔记本电脑。

刚开始,我们会使用命令行客户端,在其中手工输入请求。接着,我们会从其他程序中发起请求,这些程序包括备份软件以及其他操作数据的软件。你不需要通晓构成 MySQL 的所有文件和程序。不过,还是有一些关键部分是需要注意的。

其中一个关键程序,就是服务器 mysqld(d 代表 daemon,即守护进程,通常服务器都是守护进程)。MySQL 和 MariaDB 的守护进程都叫 mysqld。该守护进程必须一直运行着,这样人们才能访问并修改数据。如果你是管理员,你就有能力进行配置,使 mysqld 符合你建立数据库系统的需求。关于守护进程的介绍穿插于本书的多个相关章节中。

而另一个关键程序,就是基本的 MySQL 客户端,简称 mysql,本书中经常用到它。有了它,你就可以与 mysqld,即数据库,进行交互。它的界面是文本式的。它朴实无华,连鼠标都不用。基本上你就是用它来敲打在本书中学到的 SQL 语句。语句的结果会以 ASCII 形式展示,看上去非常简洁,不掺杂任何图形。同时,因为只有文字(没有二进制和图像文件),所以它运行得很快。我们会在第 3 章讲到它。当然 GUI 客户端也是有的,但大多数 MySQL 开发者和管理员都倾向于 mysql,而且用 GUI 客户端发送的命令其实跟你在 mysql 里输入的没有区别,所以我就不介绍它了。第1章入门

MySQL 是一个开源、多线程、关系型数据库管理系统,由 Michael“Monty”Widenius 于 1995 年开发出来。2000 年,MySQL 以双重许可形式发布,根据 GNU 的通用公共许可(GPL),人们可以免费使用。再加之功能繁多、运行稳定,MySQL 迅速普及。

据估计,全球 MySQL 的装机量超过 600 万,另据报告,MySQL 每天的下载量超过 5 万。作为一个领先的数据库,MySQL 的成功不仅因为它的价格——毕竟,免费的开源数据库不只有它——还因为它稳定可靠、性能高、功能强大。不过,MariaDB 很快就要取代 MySQL 了,很多人都觉得它将继承 MySQL 社区的精神。

如果你的工作是计算机编程、 网页开发或者与更广义的计算机技术有关,那么学习 MySQL 和 MariaDB 将对你有益。很多企业在开发和维护定制软件时都会用到 MySQL。除此之外,不少流行的网站和软件也用 MySQL,或者是某种与 MySQL 概念相通的数据库。所以,无论你是数据库开发者还是网页开发者,都很可能需要或受益于 MySQL 方面的知识。因此,学习 MySQL 和 MariaDB 是你计算机职业生涯的重要基础。1.1 MySQL和MariaDB的价值

MySQL 有很多非凡的特性,尤其是速度(可参考 http://www.mysql.com/why-mysql/benchmarks/ 中各时期的基准测试)。MySQL 和 MariaDB 扩展性极高,可以处理上万个表和上亿行数据。当数据量不多时,它们同样快速流畅,非常适合小型业务或业余项目。

任何一个数据库管理系统的关键部分都是存储引擎,因为它要管理所有查询,以及用户 SQL 语句与数据库后端存储之间的接口。MySQL 和 MariaDB 提供了几种各有优点的存储引擎。其中有些带有事务功能,允许回滚数据(就像桌面软件中我们熟悉的“撤销”操作)。MySQL 还内置了大量函数,这些我们会在本书的不同章节中详述。而 MariaDB 的内置函数则在 MySQL 的基础上还多出一些。另外,MySQL 和 MariaDB 快速稳定的更新也是出了名的,每一版的更新都会给大家带来新功能,以及速度和稳定性的提升。1.2 邮件列表和论坛

学习 MySQL 和 MariaDB 时,特别是你在工作中初用 MySQL 时,懂得上哪儿寻求协助是很重要的。遇到数据库的问题,你可以到 Oracle 建立的一些 MySQL 论坛社区(http://forums.mysql.com/)获得免费帮助。你首先应该进行注册,以便发问或帮助别人。帮助别人会使你学到很多东西,因为这会加深你对 MySQL 的了解。同样,类似的资源还有 MariaDB Ab(https://mariadb.com/resources/community-tools)。

有疑问时,你可以在论坛上查找别人是否问过类似的问题。在发问之前,最好先搜索论坛和文档。如果实在找不到,再提问。你还要注意将问题发在相关的版块里。1.3 其他书籍和出版物

MariaDB 提供的在线文档(https://mariadb.com/kb/en/mariadb/documentation/),一般也适用于 MySQL。Oracle 自己所有的产品都有详尽的在线文档(http://dev.mysql.com/doc),包括 MySQL 服务器。这些文档因 MySQL 版本不同而异。你可以在线阅读,也可以按各种格式下载(如 HTML、PDF、EPUB)。对于 PDF 和 EPUB,你可以将其下载到电子阅读器中。我也维护着一个网站(http://mysqlresources.com/),里面包含一些文档,以及衍生自我另一本书《MySQL 核心技术手册》的一些示例。另外也有一些人在这里补充了其他示例和资料。

除了本书,O'Reilly 还出版了其他一些值得入手的 MySQL 相关书籍。它主推的 MySQL 参考书是我写的《MySQL 核心技术手册》。如果需要解决现实中的常见问题,可参考 Paul DuBois 的《MySQL Cookbook(中文版)》。若是需要调优和性能监控方面的建议,如数据库备份,则可参考 Baron Schwartz、Peter Zaitsev 和 Vadim Tkachenko 合著的《高性能 MySQL》。我曾与这两本书的作者在 MySQL 公司共事,他们都是 MySQL 方面的权威,并且在圈中备受敬仰。

O'Reilly 也出版过几本 MySQL 应用编程接口(API)的相关书籍。对于 PHP 和 MySQL 开发,有 Robin Nixon 的 Learning PHP, MySQL, JavaScript, CSS, and HTML5(2014,http://shop.oreilly.com/product/0636920036463.do)。关于 Perl 与 MySQL 及其他数据库的接口,则有 Alligator Descartes 和 Tim Bunce 的《Perl DBI 编程》(这本书的原版在 2000 年出版,但现在依然有价值)。想用 Java 连接 MySQL,可以用 JDBC 和 JConnector 驱动;而 George Reese 的《JDBC 与 Java 数据库编程》是这方面一个不错的参考。

除了书籍之外,一些网站也提供了 MySQL 的简明教程。顺便说下,我也在 O'Reilly 博客和其他相关出版物上发表过几篇有关 MySQL 的文章。MySQL 的网站亦提供了一些深入介绍(http://dev.mysql.com/tech-resources/articles),其中不少都是讲新产品和新特性的,甚至还包括处于测试阶段的东西。如果你想了解最新版本,这些文章会很合适你。除了投入时间阅读,所有这些在线出版物都不要求你支付任何费用。如果你是 MySQL 的支持客户,你还可以访问它的私有智库(我也在其中做了多年的编辑)。

掌握本书的内容之后,如果你还想获得一些进阶的培训,MariaDB Ab 提供了培训课程。MariaDB Ab 的培训页面(http://www.skysql.com/products/mysql-training)列出了世界各地的课程,以及它们的开始时间,其中有些是一到两天的课程,有些是持续一周的。顺便说下,我是 MariaDB Ab 现任的课程管理人。第2章安装 MySQL 和 MariaDB

MySQL 和 MariaDB 的服务器与客户端,能在好几种操作系统上运行,准确来说,是某些 Linux 的发行版、Mac OS X、FreeBSD、Sun Solaris 和 Windows。

本章会简单地介绍如何在 Linux、Mac OS X 和 Windows 上安装 MySQL 和 MariaDB。关于如何在某些操作系统的各种发行版安装,本章有专门的小节讲述。在任何一种操作系统上,安装 MySQL 都只需阅读这三节内容:2.4 节、2.5 节和 2.6 节。没有必要了解所有版本的安装方法。2.1 安装包

MySQL 和 MariaDB 的安装包带有几个程序。其中最主要的是服1务器程序,即 mysqld 守护进程 。它在 MySQL 和 MariaDB 中是同名的。这个守护进程是对整个数据库进行存储和操控的实际执行者。它监听着一个特定的端口(默认是 3306),这个端口供用户提交查询。标准的 MySQL 客户端就叫作 mysql。用户可使用它的命令行接口登录和执行 SQL 查询。该客户端还能接受含有查询命令的文本文件,代表用户或其他软件执行查询。不过,我们大多使用各种编程语言来跟 MySQL 交互。有关 Perl、PHP 以及其他语言的 MySQL 接口,会在第 16 章中讲到。

1. 所谓守护进程,就是一个在后台持续运行的进程,这是 Unix 中的术语,而大多数人就叫它“服务器”。

在服务器安装目录中,会有一些封装好的脚本。而运行 mysqld 最常见的方法就是使用其中的 mysqld_safe 脚本,因为它能自动重启崩溃的守护进程。这有助于令数据库服务的宕机时间最小化。如果你是初学者,那么你无需掌握其中的运作细节,但告诉你这些,是让你知道这套数据库系统是多么强大。

MySQL 和 MariaDB 都自带各种服务器管理工具。mysqlaccess 用于创建用户账号和设置权限。mysqladmin 则是命令行的数据库服务器管理工具。你可以用它来交互式地查询服务器的状态和使用量,以及关闭服务器。而 mysqlshow 既可显示各数据库和各表的信息,又可查看服务器状态。其中有些工具需要先在服务器上安装 Perl;如果用 Windows,则要安装 ActivePerl。你可到 Perl 的网站(http://www.perl.org/)或 ActivePerl 的网站(http://www.activestate.com/activeperl)上下载安装。

另外,还有一些导入导出数据的工具。mysqldump 是最流行的导出 dump 文件(包含表结构和数据的纯文本文件)的工具。这使得我们可以备份数据,或在服务器之间复制数据。而 mysql 客户端则可以将 dump 文件导回到数据库中。具体内容在第一部分中有详解。

助手工具是可以不装的。但它们不是什么大型文件,安装它们也不耗费什么,所以你也可以安装并使用。2.2 许可

MySQL 是免费并且开源的,但它的开发者——现在是 Oracle 公司——对其源代码拥有版权。该公司提供双重许可方式:一种是可在某些常见情境下遵循 GPL 的免费使用,另一种是收费的商业许可证。同一软件,却有两种不同的许可和权限。有关 GPL 的细节,可在其创造者自由软件基金会的网站上找到(http://www.fsf.org/licenses/license-list.html)。

如果你仅仅使用 MySQL 而没有重新发布它,又或者是重新发布时所包含的软件都遵循 GPL,那么这都是符合 GPL 的,Oracle 允许你这么做。你甚至可以在重新发布 MySQL 时带上你自己开发的软件,只要它也遵循 GPL 即可。正因如此,MariaDB 才得以诞生,并被认可为 MySQL 的合法分支。

然而,如果你开发了一个依赖 MySQL 的应用,并希望以它来盈利,那么你必须向 Oracle 购买一个商业许可。除此之外,还有其他一些情形是需要商业许可的。详情请浏览 MySQL 法律网页(http://www.mysql.com/about/legal/)。

除了版权,Oracle 还拥有 MySQL 的商标。因此,你不能发布名字含有 MySQL 的软件。这些对于学习使用 MySQL 并不重要,但对于高级 MySQL 开发者来说是需要注意的。2.3 获取软件

你可从 MySQL 网站(http://dev.mysql.com/downloads/mysql/)或镜像站(http://dev.mysql.com/downloads/mirrors.html)获取该软件,但你得先有个 Oracle 账号(免费的)。你也可以下载 MariaDB,它包括 MySQL 的最新功能以及其他一些特性。它在 MariaDB 基金会网站(https://downloads.mariadb.org/mariadb/)提供下载,同样,它也是免费的,也需要先注册。

这两个网站在下载的过程中,都会要求你提供个人信息、组织背景,以及把该软件作何用途。这些信息会被收集到它们的营销部门。但你也可以表明你不想被打扰,仅仅下载完就好,不用再与他们打交道。

如果你的服务器或本地计算机上已装有 MySQL 或 MariaDB,那么你可以跳过本章。如果你不确定有没有装,在 Linux 或 Mac 上,可通过命令行这样检查:ps aux | grep mysql

如果 MySQL 在运行着,你会看到类似下面的结果:2763 ? 00:00:00 mysqld_safe2900 ? 5-23:48:51 mysqld

在 Windows 中,你可用 tasklist 检查。只需在命令行键入:tasklist /fi "IMAGENAME eq mysqld"

如果 MySQL 在运行着,你会看到类似下面的结果:Image Name PID Session Name Session# Mem Usage============== ======= ============== ========= ==========mysqld.exe 1356 Services 0 212 K

如果没有运行,则会看到这样的信息:INFO: No tasks are running which match the specified criteria.

但这并不完全保证你没有安装 MySQL,它只是告诉你 MySQL 的守护进程没在运行。你可用文件管理器之类的工具在计算机中搜索 mysqld。你还可以使用 mysqladmin(假设你安装了)来检测 MySQL。键入下文第一行,你会看到接下来的结果(示例而已):mysqladmin -p version statusmysqladmin Ver 9.0 Distrib 5.5.33a-MariaDB, for Linux on i686Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.Server version 5.5.33a-MariaDBProtocol version 10Connection Localhost via UNIX socketUNIX socket /var/lib/mysql/mysql.sockUptime: 30 days 23 hours 37 min 12 secThreads: 4 Questions: 24085079 Slow queries: 0 Opens: 10832 Flush tables: 3Open tables: 400 Queries per second avg: 8.996 Uptime: 2677032 Threads: 4Questions: 24085079 Slow queries: 0 Opens: 10832 Flush tables: 3Open tables: 400 Queries per second avg: 8.996

如果你从以上测试得知 MySQL 已运行,那么你可以跳到第 3 章了。否则,你可能需要启动它。具体做法会在 2.5 节中各小节末尾处介绍。你需找到符合你的 MySQL 版本的小节(如 Mac OS X),然后翻到小节末尾,看如何启动守护进程。然后试着启动它。如果启动成功,那就跳到本章末尾的 2.6 节。那里有一些重点关注,包括安全问题。如果启动不了,那么就要通读符合你版本的整节了。2.4 挑选发行版

在下载之前,请先想好要安装哪个版本的 MySQL(或 MariaDB)。对于 MySQL 来说,最好是按照 Oracle 的建议,下载最新的稳定版,即正式版(GA)。这对于新手来说是最佳选择。初学者不要碰测试版或开发版。除非你有 Oracle 的支持(即有 MySQL 企业版),否则应使用 MySQL 社区版。初学者用社区版和企业版其实是没什么区别的。

对于 MariaDB 来说,也要下载正式版(https://downloads.mariadb.org/mariadb/)。

可以选择用源码安装或用二进制执行文件安装。我们推荐用二进制文件安装,因为这比较简单。如果要在编译或安装过程中做一些特别设置,又或者是没有适合你的操作系统的二进制包,则要选择用源码安装。否则,就用二进制文件安装吧。当前我们只为学习 MySQL 的基础知识,没必要在安装上花太多工夫。2.5 各种_AMP

接下来的小节会介绍在不同操作系统中,以不同的方法和形式下载和安装 MySQL(或 MariaDB)。不过,有个简单的方法,就是使用 _AMP 包。这个缩写代表 Apache、MySQL/MariaDB 和 PHP/Perl/Python。其中 Apache 是最流行的 Web 服务器,而 PHP 是与 MySQL 适配的最流行的编程语言。AMP 包(栈)基于操作系统:Linux 的叫 LAMP,Mac 的叫 MAMP,Windows 的叫 WAMP。安装 AMP 包时,除了 Apache、MySQL 和 PHP,还会顺带安装上相关依赖程序。这种做法很便捷,尽管你还是需要做一些安装后的调整设置(本章最后一节会介绍)。安装后,你就直接跳到 2.6 节吧。

刚才所说的包,可在下面这些网站上找到。● 最新 Linux 版,请看 Apache XAMPP 网站(多出的 P 是指

Perl):http://www.apachefriends.org/en/xampp-linux.html。尽管

该网站将这个包称为 XAMPP 而非 LAMPP,但其实是一回事。● 最新 Mac 版,请看 SourceForge MAMP 网站:http://

sourceforge.net/projects/mamp/。● 最新 Windows 版,请看 EasyPHP WAMP 网站:http://

www.easyphp.org/download.php。

它们全都很容易安装,采用默认的设置通常没什么问题。2.5.1 Linux二进制发行版

如果你的服务器的 Linux 通过 RPM(红帽软件包管理器)或 DEB(Debian Linux)来安装软件,那么我们建议你使用二进制包而非源码包来安装 MySQL。以下系统有特定的二进制包:RedHat、Debian 和 SuSE。而其他发行版则有通用的包。另外,还要区分服务器的处理器类型(例如 32 位或 64 位)。

不过,在继续下去之前,如果你有 Linux 原始的安装盘,那么你可以直接用它来安装 MySQL。这样安装完的话,你就可以跳到 2.6 节,而无需继续阅读本节后面的内容了。但若你的安装盘太老旧(里面不是最新版的 MySQL),你可能需要按照接下来介绍的方法去安装。

所有版本的 MySQL,都提供以下这些二进制安装包的下载:MySQL 服务器、共享组件、兼容库、客户端工具、嵌入式,以及测试套件。其中最重要的是 MySQL 服务器、客户端工具、共享组件。此外,你可能还想安装共享库。若想使用 PHP、Perl、C 之类的编程语言来与 MySQL 进行交互,那么这个共享库就是必要的。其他包服务于那些高级或特殊的需求,本书不作介绍,等你学完基本的内容再说吧。

这些包的命名规则一般是:MySQL-server-version.rpm,MySQL-client-version.rpm,MySQL-shared-version.rpm。其中 version 是实际的版本号。供 Debian 安装的包名则是以 .deb 结尾,而非 .rpm。

安装包下载到服务器上之后,就可用 rpm 来安装了,又或者用更强大的工具 yum 来安装。yum 之所以更好,是因为它能避免你安装与现有软件冲突的东西,自动帮你安装上缺失的依赖,还能检查新版本并升级。对 Debian 系统来说,类似的工具有 apt-get。Oracle 已为 MySQL 建立了 yum 库(http://dev.mysql.com/downloads/repo/yum/)和 apt 库(http://dev.mysql.com/downloads/repo/apt/)。而 MariaDB 则有对应各系统的库配置工具(https://downloads.mariadb.org/mariadb/repositories/)。

键入类似以下的命令,用 yum 来安装 MySQL 二进制包:yum install MySQL-server-version.rpm \MySQL-client-version.rpm MySQL-shared-version.rpm

当然,文件名是可以改的。yum 会在一路上跟你确认各种安装、移除、冲突和升级问题。除非有特殊要求,否则你可以按默认的设置进行安装。

键入类似以下的命令,用 yum 来安装 MariaDB 二进制包:yum install MariaDB-server MariaDB-client

在含有 RPM 包的目录里,键入类似以下的命令,用 rpm 来安装 MySQL 或 MariaDB 二进制包:rpm -ivh MySQL-server-version.rpm \MySQL-client-version.rpm MySQL-shared-version.rpm

如果服务器上已安装有一个旧版 MySQL,那么安装过程就会报错并中止。如果想升级,你可用 -U 选项(大写)来替换 -i:rpm -Uvh MySQL-server-version.rpmMySQL-client-version.rpm MySQL-shared-version.rpm

RPM 文件安装好后,mysqld 守护进程就会自动启动或重启。MySQL 安装好并运行后,你还需要做一些安装后的调整(在 2.6 节中有详解)。所以,现在就可以过去看看了。2.5.2 Mac OS X发行版

以前 Mac OS X 是自带 MySQL 的,但最近的版本没有(从 Oracle 接管 MySQL 开始)。如果你的计算机运行的是旧版本,那么就可能已经安装好了 MySQL,但没运行起来。要想检查有没有安装 MySQL,打开终端(在应用 / 工具中)。出现命令提示符后,键入下文第一行(第二行至第四行是结果):whereis mysql mysqld mysqld_safeusrbin/mysqlusrbin/mysqldusrbin/mysqld_safe

若结果如上,那就是安装了。接着检查 MySQL 守护进程(mysqld)有没有运行,键入:ps aux | grep mysql

如果 mysqld 在运行,那就没必要再装了,请跳到 2.6 节。

如果没在运行,输入以下命令,以 root 身份启动它:usrbin/mysqld_safe &

如果你的 Mac 上没装过 MySQL 或者想升级,那么接着看本节。对于没安装的人来说,你需要在装之前先创建一个叫 mysql 的用户。而 Oracle 的 MySQL 包会自动创建 _mysql 用户。

我们可通过 Mac 的 DMG 文件来安装 MySQL。对于没有 GUI 或桌面管理器的 Mac 服务器,或需要远程操作的情况,可用 TAR 文件2来安装 。不管你是下载 DMG 还是 TAR 文件,都应注意处理器类型要求(如 32 位或 64 位),以及操作系统的版本要求(如 Mac OS X 10.6 或以上)。

2. tar 是出自 Unix 的归档工具,但很多系统上的很多归档工具都能识别这种文件格式。

如果装有旧版 MySQL,你就需要在安装、运行新版 MySQL,或替换成 MariaDB 之前,先将其关掉。为此,你可以使用 MySQL 管理器,它是一个 GUI 程序,可能会跟随 MySQL 一起安装。最近的 Mac OS X 一般都有它。如果你没有 MySQL 管理器,则需要键入以下命令来关掉 MySQL:usrsbin/mysqladmin -u root -p shutdown

如果你从没用过 MySQL,也没设置过密码,那么密码应该是空的。当你键入上述命令后,被要求输入密码时,直接敲 Enter 键即可。

要想安装 MySQL 包,可从 Finder 双击你下载的镜像文件(DMG),这会打开里面的内容。然后查找 PKG 文件,正常来说会有两个。双击名为 mysql-version.pkg 的那个(如 mysql-5.5.29-osx10.6-x86.pkg)。这就开始安装了。对大多数用户和开发者来说,安装过程一切按默认设置即可。

若要 MySQL 开机时启动,可加上启动项。在你下载的 DMG 中,有个 MySQLStartupItem.pkg。双击它,即可为 MySQL 建立一个启动项。你还应该安装一个 MySQL 偏好窗格,以便能从 Mac 的系统偏好中启动和关闭 MySQL,或设置其是否开机自启。为此你需要点击 MySQL.prefPane。如果安装有问题,可参考 DMG 里的 ReadMe.txt。

Mac 现在还没有 MariaDB 的官方安装工具。不过你可以用 homebrew(http://brew.sh/)来下载和安装所需的包(其中包括所需的库)。Mac 的 homebrew 如同 Linux 的 yum。装好 homebrew 后,你就能使用以下命令来安装 MariaDB 了:

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载