深入浅出MySQL:数据库开发、优化与管理维护(第2版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-13 11:41:48

点击下载

作者:唐汉明翟振兴关宝军王洪权黄潇著

出版社:人民邮电出版社

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

深入浅出MySQL:数据库开发、优化与管理维护(第2版)

深入浅出MySQL:数据库开发、优化与管理维护(第2版)试读:

前言

写作背景

最近几年,随着 IT 技术的发展,开源数据库逐渐流行起来。和传统的商业数据库相比,开源数据库具有完全免费、源码公开、随意下载等特点,可以用于各种商业目的。这使得开源数据库被广泛应用在各个行业中,大大降低了企业的开发运营成本。因此,开源数据库对传统商业数据库的市场造成了极大的冲击,使得传统商业数据库提供商不得不提供相应数据库的免费版本(并非开源),但是这些免费版本一般都具有很多的功能限制,和开源数据库相比,还是有不小的差距。MySQL 正是这些开源数据库中的杰出代表。

在此背景下,为了帮助广大MySQL爱好者快速掌握和使用MySQL,我们编写了本书的第一版,全书章节按照一个 DBA 需要具备的从业素质进行布局,内容循序渐进,既可以引导初学者入门,又可以帮助具备一定基础的数据库从业人员进阶。第 1版出版后我们收到了很多读者的反馈,既有肯定也有很多中肯的建议,这里一并进行感谢。

随着近几年MySQL进一步的发展,《深入浅出MySQL:数据库开发、优化与管理维护》第1版中的很多内容都已经过时,于是出版社的编辑建议我们对此书进行升级改版,加入一些新内容,淘汰一些旧内容,以便分享我们最新的实战总结和经验教训。经过大家讨论,决定进行改版。新版的内容主要基于MySQL 5.5,在保留第 1版部分内容的基础上,增加了分区、监控、高可用架构等新内容,并对原有章节结构进行了较大的调整,全书内容也重新划分,增加了架构篇。由于时间关系,部分内容和例子还是基于MySQL 5.0的,但与MySQL 5.5差别很小,这部分内容没有做改动,希望大家谅解。希望新的结构能让大家有更多的收获。本书特点

本书作者均为国内著名门户网站网易(http://www.163.com)技术部的DBA组成员,具有丰富的数据库开发、优化和管理维护经验。本书是作者多年工作实践的积累和总结,针对 DBA在工作中的必备知识与技能,作者精心安排了本书的篇章结构。本书从基础入手,面向实际应用,力图让读者从多个角度对MySQL有深入的认识和理解。

本书最大的特点就是实战性强,通过循序渐进的内容组织,配以深入浅出的文字论述和丰富的实例对MySQL进行了系统、详细的介绍。从内容上来看,本书系统全面,涵盖了MySQL开发、优化和管理维护的方方面面;从写作风格上来看,本书不过多讨论抽象的理论,而是通过丰富的实例来帮助读者理解应用MySQL数据库时遇到的各种问题及其解决办法,读者不但能够很容易地部署自己的测试环境,还能掌握应用MySQL数据库的各种技巧。本书结构

本书分为基础篇、开发篇、优化篇、管理维护篇、架构篇5个部分,共33章。全书的具体章节安排如下。

第一部分 基础篇

(第1章~第6章):主要面向MySQL的初学者,包括MySQL的安装与配置、SQL基础、MySQL支持的数据类型、MySQL中的运算符、常用函数、图形化工具的使用等内容。通过这部分内容的学习,读者可以熟悉MySQL基本的安装和相关使用方法。

第二部分 开发篇(第7章~第17章):主要面向MySQL的设计和开发人员,包括表类型(存储引擎)的选择、选择合适的数据类型、字符集、索引的设计和使用、视图、存储过程和函数、触发器、事务控制和锁定语句、SQL中的安全问题、SQL Mode及相关问题、分区等内容。通过这部分内容的学习,读者可以了解MySQL设计和开发中需要关注的问题。

第三部分 优化篇(第18章~第23章):主要面向开发人员和数据库管理员,包括SQL优化、优化数据库对象、锁问题、优化MySQL Server、磁盘 I/O问题、应用优化等内容。通过这部分内容的学习,读者可以了解MySQL中需要优化的对象和常用的优化方法。

第四部分 管理维护篇(第 24 章~第 30 章):主要面向数据库管理员,包括MySQL高级安装和升级、MySQL中的常用工具、MySQL日志、备份与恢复、MySQL权限与安全、MySQL监控、MySQL常见问题和应用技巧等内容。通过这部分内容的学习,读者可以了解在MySQL中常用的管理维护方法。

第五部分 架构篇(第 31 章~第 33 章):主要面向高级数据库管理人员和数据库架构设计师,包括MySQL复制、MySQL Cluster、高可用架构等内容。通过这部分内容的学习,读者可以了解MySQL的一些高级应用。

本书的组织架构由唐汉明和翟振兴设计。参与本书编写的主要人员有唐汉明、翟振兴、关宝军、王洪权和黄潇。全书由翟振兴进行统一审稿和修改。本书适用读者

本书适用于MySQL的初学者,也适用于具备一定数据库基础并打算继续深入学习MySQL技术的数据库从业人员,更适合于专业的MySQL数据库管理员(DBA)。

本书可以作为大中专院校相关专业师生的参考用书,也可以作为相关培训机构的培训教程。第一部分基础篇第1章MySQL的安装与配置

近几年,开源数据库逐渐流行起来。由于具有免费使用、配置简单、稳定性好、性能优良等优点,开源数据库在中低端应用中占据了很大的市场份额,而MySQL正是开源数据库中的杰出代表。

MySQL 数据库隶属于 MySQL AB 公司,总部位于瑞典。公司名中的“AB”是瑞典语“aktiebolag”或“股份公司”的首字母缩写。MySQL支持几乎所有的操作系统,并且支持很大的表(MyISAM存储引擎支持的最大表尺寸为65536TB),这些特性使得MySQL的发展非常迅猛,目前已经广泛应用在各个行业中。1.1 MySQL的下载

用户通常可以到官方网站www.mysql.com下载最新版本的MySQL数据库。按照用户群分类,MySQL数据库目前分为社区版(Community Server)和企业版(Enterprise),它们最重要的区别在于:社区版是自由下载而且完全免费的,但是官方不提供任何技术支持,适用于大多数普通用户;企业版是收费的,不能在线下载,相应地,它提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。

MySQL的版本更新很快,目前可以下载的版本包括4.1、5.0、5.1和6.0。其中4.1和5.0是发行版,5.1和6.0都还是测试版。这些不同版本之间的主要区别如表1-1所示。表1-1 MySQL不同版本的重要改进

针对每个版本,还分为3个类型。

Standard:推荐大多数用户下载。

Max:除Standard的所有内容外,还有一些附加的新特性,这些特性还没有通过正式的测试发布,主要用于提升用户的认识和体验。

Debug:和Standard类似,但是包括了一些调试信息,会影响系统性能,所以不推荐用户下载。

对于不同的操作系统平台,MySQL提供了相应的版本。本章将以Windows平台下的noinstall包和图形化安装包以及Linux平台下的RPM包为例,说明MySQL的下载、安装、配置、启动和关闭过程。本章的测试环境分别是32位的Windows XP和x86平台上的RedHat Linux AS3。1.1.1 在Windows平台下下载MySQL

打开浏览器,在地址栏中输入 http://dev.mysql.com/downloads/mysql/5.0.html#linux,打开MySQL下载页面,单击“Windows downloads”下“Without installer(unzip in C:\)”后面的“Download”或者“Pick a mirror”链接来选择一个镜像站点进行下载,如图 1-1所示。图1-1 下载Without installer(unzip in C:\)1.1.2 在Linux平台下下载MySQL

在Linux平台下,要下载MySQL可以采用以下两种方法。

1.通过网页直接下载(1)打开浏览器,在地址栏中输入http://dev.mysql.com/downloads/mysql/5.0.html#linux,打开MySQL下载页面,单击“Red Hat Enterprise Linux 3 RPM (x86) downloads”下的“Server”和“Client”后面的“Download”或者“Pick a mirror”链接来选择一个镜像站点进行下载,如图1-2所示。(2)将下载后的文件用FTP等工具传送到Linux服务器上。

2.通过命令行方式下载(1)首先得到下载地址的URL(用鼠标右键单击“Download”或者镜像地址的链接,“属性”对话框中显示的“地址”信息即是URL),如图1-3所示。图1-2 下载Server和Client

在图1-3中,本例显示的URL是:

http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-noinstall-5.0.45-win32.zip/from/ht tp://mysql.cdpa.nsysu.edu.tw/(2)然后使用wget命令在Linux服务器上直接下载Server和Client软件包。图1-3 下载地址的URL

在本例中,下载Server软件包的具体命令如下:

[zzx@localhost ~]$ wget http://dev.mysql.com/get/Downloads/MySQL-5.0/MySQL- server-community-5.0.45-0.rhel3.i386.rpm/from/http://mysyl.cdpa.nsysu.edu.tw/w/

--10:42:38-- http://dev.mysql.com/get/Downloads/MySQL-5.0/MySQL-server- community-5. 0.45-0.rhel3.i386.rpm/from/http://mysql.cdpa.nsysu.edu.tw/

=> 'index.html'

Resolving dev.mysql.com... 213.136.52.29

Connecting to dev.mysql.com|213.136.52.29|:80... connected.

HTTP request sent, awaiting response... 302 Found

Location: http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.0/MySQL-server- community-5. 0.45-0.rhel3.i386.rpm [following]

--10:42:39-- http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.0/MySQL-server-community -5.0.45-0.rhel3.i386.rpm

=> 'MySQL-server-community-5.0.45-0.rhel3.i386.rpm.1'

Resolving mysql.cdpa.nsysu.edu.tw... 140.110.123.9

Connecting to mysql.cdpa.nsysu.edu.tw|140.110.123.9|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 18,092,605 (17M) [text/plain]

100%[==================================================================>] 18,092,605 2.00M/s ETA 00:00

10:42:57 (1.11 MB/s) - 'MySQL-server-community-5.0.45-0.rhel3.i386.rpm.1' saved [18092605/18092605]wget http://dev.mysql.com/get/Downloads/MySQL-5.0/ MySQL-client-community-5.0.45-0.rhel3.i386.rpm/from/http://mysql.cdpa.nsysu.edu.tw/

在本例中,下载Client软件包的具体命令如下:

[zzx@localhost ~]$ wget http://dev.mysql.com/get/Downloads/MySQL-5.0/MySQL- client-community-5.0.45-0.rhel3.i386.rpm/from/http://mysql.cdpa.nsysu.edu.tw/

--10:47:55-- http://dev.mysql.com/get/Downloads/MySQL-5.0/MySQL-client- community-5.0.45-0.rhel3.i386.rpm/from/http://mysql.cdpa.nsysu.edu.tw/

=> 'index.html'

Resolving dev.mysql.com... 213.136.52.29

Connecting to dev.mysql.com|213.136.52.29|:80... connected.

HTTP request sent, awaiting response... 302 Found

Location: http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.0/MySQL-client- community-5.0.45-0.rhel3.i386.rpm [following]

--10:47:56-- http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.0/MySQL-client- community-5.0.45-0.rhel3.i386.rpm

=> 'MySQL-client-community-5.0.45-0.rhel3.i386.rpm.1'

Resolving mysql.cdpa.nsysu.edu.tw... 140.110.123.9

Connecting to mysql.cdpa.nsysu.edu.tw|140.110.123.9|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 6,257,771 (6.0M) [text/plain]

100%[==================================================================>] 6,257,771 1.14M/s ETA 00:00

10:48:05 (838.78 KB/s) - 'MySQL-client-community-5.0.45-0.rhel3.i386.rpm.1' saved [6257771/6257771]1.2 MySQL的安装

MySQL的安装分很多种情况。下面将以Windows平台和Linux平台为例,介绍 MySQL在不同操作系统平台上的安装方法。1.2.1 在Windows平台下安装MySQL

Windows平台下的安装包主要有两种,一种是noinstall包,顾名思义,不需要安装就可以直接使用;另一种是.zip 安装包,可以通过图形化界面进行安装。下面分别就两种安装方式进行介绍。

1.noinstall安装

在Windows平台下安装MySQL,其安装步骤非常简单,只要将下载的文件mysql-noinstall-5.0.45-win32.zip 放到自定义安装目录下,再用 WinRAR 等压缩工具解压即可。本例中解压到C:\目录下,如图1-4所示。图1-4 用WinRAR解压noinstal 包到C:\下

2.图形化方式安装

在Windows平台下,采用图形化方式安装的操作步骤如下。(1)将压缩文件mysql-5.0.45-win32.zip解压到自定义的一个目录下,在本例中解压到C:\。(2)双击位于C:\下的setup.exe文件,进入MySQL欢迎安装界面,如图1-5所示。图1-5 MySQL安装欢迎界面(3)单击“Next”按钮,进入“Setup Type”界面,选择MySQL安装类型,如图 1-6所示。图1-6 选择MySQL安装类型

这3种安装类型分别对应着不同的安装组件,其含义如下。

Typical 表示一般常用的组件都会被安装,默认情况下安装到 C:\Program Files\MySQL\MySQL Server5.0下。建议大多数情况下选择此安装套件。

Complete表示会安装所有的组件。此套件会占用较大的磁盘空间,一般情况下不要选。

Custom 表示用户可以选择要安装的组件,可以更改默认的安装路径。这种安装类型最灵活,适用于高级用户。

在这里选择Typical类型。(4)单击“Next”按钮,进入“Ready to Install Program”界面,如图 1-7所示。图1-7 MySQL安装前的确认界面

此界面给出了安装前的提示,确认安装类型和安装路径。如果想修改,可以单击“Back”按钮返回修改。(5)单击“Install”按钮,开始安装过程,如图1-8所示。安装完毕前,系统会显示MySQL Enterprise版(企业版)的一些功能介绍界面,如图1-9所示,可以单击“Next”按钮继续查看,也可以单击右上角的关闭按钮跳过。图1-8 MySQL安装进度图1-9 MySQL Enterprise版的功能介绍(6)最后,系统显示安装完毕,如图1-10所示。图1-10 MySQL安装完成(7)单击“Finish”按钮完成安装过程。如果想马上配置数据库连接,选中“Configure the MySQL Server now”复选框;如果想以后再配置,取消复选框的选中状态。这里取消选中状态,后面再进行配置的介绍。至此,MySQL 安装完毕,Windows 的“所有程序”菜单中已经多了“MySQL”一项,如图1-11所示。图1-11 MySQL安装后的程序项1.2.2 在Linux平台下安装MySQL

在Linux平台下安装和在Windows平台下安装有所不同,不能用图形化的方式来安装,并且在Linux下支持RPM包、二进制包、源码包3种安装方式。下面以RPM包为例来介绍如何在Linux平台下进行MySQL的安装,其他安装方式还会在本书的第24章中详细介绍。

RPM是Redhat Package Manage的缩写。透过RPM的管理,使用者可以把Source Code包装成一种Source和Binary的档案形式,更加便于安装。MySQL的RPM包包括很多套件,一般只安装Server和Client就可以了。其中Server包是MySQL服务端套件,为用户提供核心的MySQL服务;Client包是连接MySQL服务的客户端工具,方便管理员和开发人员在服务器上进行各种管理工作。

安装RPM包的具体操作步骤如下。(1)切换到root下(只有root才可以执行RPM包):

[zzx@bj52 zzx]$ su

Password:

[root@bj52 zzx]#(2)安装MySQL Server包:

[root@localhost zzx]# rpm -ivh MySQL-server-community-5.0.45-0.rhel3.i386. rpm

warning: MySQL-server-community-5.0.45-0.rhel3.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5

Preparing... ########################################### [100%]

1:MySQL-server-community######################################### [100%]

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'

/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

See the manual for more instructions.

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at

http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

Starting MySQL[ OK ](3)安装MySQL Client包:

[root@localhost zzx]# rpm -ivh MySQL-client-community-5.0.45-0.rhel3.i386. rpm

warning: MySQL-client-community-5.0.45-0.rhel3.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5

Preparing... ######################################### [100%]

1:MySQL-client-community ######################################## [100%](4)最后运行MySQL:

[root@localhost zzx]# mysql -uroot

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.0.45-community MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

至此,MySQL安装完毕。

注意:在Server安装过程中,有时候会提示缺少perl-DBI-1.40-8.i386.rpm,这时就需要先下载一个安装包,下载地址为ftp://ftp.chg.ru/pub/Linux/scientific/43/i386/SL/RPMS/perl-DBI-1.40-8.i386.rpm。1.3 MySQL的配置

MySQL安装完毕后,大多数情况下都可以直接启动MySQL服务,而不需要设置参数。因为系统对所有的参数都有一个默认值。如果要修改默认值,则必须要配置参数文件。下面就Windows和Linux两种平台下的配置方法进行介绍。1.3.1 Windows平台下配置MySQL

对于 noinstall 方式安装的 MySQL,系统的参数配置、服务的启动和关闭都需要手工在命令窗口中完成。参数文件可以在多个位置进行设置,这里用一个 C:\my.cnf 来进行操作,其他更详细的参数位置可以参考第24章中的介绍。

对于初学者来说,my.cnf 并不知道该怎样配置。MySQL 为用户提供了几个样例文件,位于解压后的目录下,文件名类似于my-***.ini,其中“***”分别代表了不同的环境特点,例如my-small.ini、my-large.ini 分别代表了此文件适合于小型数据库和大型数据库。下面是一个my-small.ini的部分内容:

# Example MySQL config file for small systems.

#

# This is for a system with little memory (<= 64M) where MySQL is only used

# from time to time and it's important that the mysqld daemon

# doesn't use much resources.

# The following options will be passed to all MySQL clients

[client]

#password = your_password

port =3306

socket =/tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server

[mysqld]

port =3306

socket =/tmp/mysql.sock

skip-locking

key_buffer = 16K

max_allowed_packet = 1M

table_cache = 4

sort_buffer_size = 64K

read_buffer_size = 256K

read_rnd_buffer_size = 256K

net_buffer_length = 2K

thread_stack = 64K

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

[isamchk]

key_buffer = 8M

sort_buffer_size = 8M

[myisamchk]

key_buffer = 8M

sort_buffer_size = 8M

[mysqlhotcopy]

interactive-timeout

上面样例中的粗体代表了不同方面的参数,通常我们配置最多的是[mysqld],也就是mysql服务器参数。如果将选择的my-***.ini文件另存为C:\my.cnf文件,则MySQL实例启动的时候就会读取此配置文件。

对于图形化的安装方式,MySQL 提供了一个图形化的实例配置向导,可以引导用户逐步进行实例参数的设置,具体操作步骤如下。(1)单击“开始”Æ“所有程序”Æ“MySQL”Æ“MySQL Server 5.0”Æ“MySQL Server Instance Configuration Wizard”菜单,进入欢迎界面,如图 1-12所示。图1-12 MySQL实例配置欢迎界面(2)单击“Next”按钮,进入选择配置类型界面,如图1-13所示。

界面中显示了 MySQL 提供的详细配置(Detailed Configuration)和标准配置(Standard Configuration)两种配置类型。它们的区别在于详细配置列出了更详细的个性化配置向导,配置过程相对复杂而且较慢;标准配置是一个通用的配置,配置过程简单快速。这里用详细配置为例来进行介绍。图1-13 MySQL实例配置类型选择界面(3)选择“Detailed Configuration”单选按钮,单击“Next”按钮,进入如图 1-14所示的界面。图1-14 MySQL应用类型选择界面

此界面中列出了MySQL的3种应用方式。

Developer Machine(开发机),使用最小数量的内存。

Server Machine(服务器),使用中等大小的内存。

Dedicated MySQL Server Machine(专用服务器),使用当前可用的最大内存。(4)这里选择“Developer Machine”单选按钮,单击“Next”按钮,进入数据库用途选择界面,如图1-15所示。图1-15 MySQL数据库用途选择界面

该界面中列出了3种数据库用途选项。

Multifunctional Database(多功能数据库),此选项对事务性存储引擎(InnoDB)和非事务性(MyISAM)存储引擎的存取速度都很快。

Transactional Database Only(事务性数据库),此选项主要优化了事务性(InnoDB)存储引擎,但是非事务性存储引擎(MyISAM)也可以使用。

Non-Transactional Database Only(非事务型数据库),此选项主要优化了非事务性(MyISAM)存储引擎,注意事务性存储引擎(InnoDB)不能使用。

存储引擎在后面的章节中将会专门介绍,读者可以理解为不同的表类型。(5)这里选择“Multifunctional Database”单选按钮。单击“Next”按钮,进入 InnoDB数据文件目录配置界面,如图1-16所示。

InnoDB 的数据文件会在数据库第一次启动的时候创建,默认会创建在 MySQL 的安装目录下。用户可以根据实际的空间状况进行路径的选择。这里保留默认值。(6)单击“Next”按钮,进入并发连接设置界面,如图1-17所示,其中有3个选项,其含义分别如下。

Decision Support(DSS)/OLAP(决策支持系统),设置连接数为 20。

Online Transaction Processing(OLTP)(在线事务系统),设置连接数为 500。

Manual Setting(手工设置),手工输入并发连接数。图1-16 MySQL InnoDB数据文件路径选择界面图1-17 MySQL并发连接设置界面(7)选择“Decision Support(DSS)/OLAP”单选按钮后,单击“Next”按钮,进入网络选项设置,如果1-18所示。

本界面中主要设置MySQL服务的端口号,选项“Enable TCP/IP Networking”表示是否运行TCP/IP连接,而选项“Enable Strict Mode”表示是否采用严格模式来启动服务。至于什么是MySQL的模式,将在本书的第16章中详细介绍。图1-18 MySQL并发连接设置界面(8)选择“Enable TCP/IP Networking”和“Enable Strict Mode”复选框后,单击“Next”按钮,进入默认字符集选择界面,如图1-19所示。图1-19 MySQL实例默认字符集选择界面

该界面上的3种选项分别表示如下。

Standard Character Set(标准字符集),默认是Latin1。

Best Support For Multilingualism(对多语言支持最好的字符集),是指UTF-8。

Manual Selected Default Character Set/Collation(手工选择字符集)。

字符集将会在第9章中详细介绍。(9)选择“Standard Character Set”单选按钮后,单击“Next”按钮,进入Windows选项设置界面,如图1-20所示。图1-20 MySQL相关的Windows选项设置

这个界面上部是设置MySQL是否作为Windows的一个服务,如果是,设置一个服务名称并设置是否Windows重启的时候自动装载。这里保留默认选项,将服务名称改为“MySQL5”。下面的“Include Bin Directory in Windows PATH”复选框表示MySQL的 Bin目录是否写入Windows的PATH中,这里选中该复选框。(10)单击“Next”按钮,进入MySQL的安全选项配置界面,如图1-21所示。图1-21 MySQL的安全设置

图 1-21中显示了MySQL的两个安全设置复选框,“Modify Security Settings”复选框确定是否修改默认 root密码,因为默认的 root密码是空,所以建议用户一定要修改;“Create An Anonymous Account”复选框确定是否创建一个匿名用户,建议用户不要创建,因为这样会给系统带来安全漏洞。这里为了简便起见,将root口令改为123(正式的生产环境中一定要采用更为复杂的密码)。(11)单击“Next”按钮,进入准备执行界面,如图1-22所示。图1-22 准备执行配置界面(12)确认设置没有问题后,单击“Execute”按钮,开始执行。执行成功后的界面如图1-23所示。图1-23 MySQL配置执行成功界面

单击“Finish”按钮后,安装过程全部完成。这时可以发现,Windows的服务列表中已经增加了“MySQL5”这一项,如图1-24所示,可以通过启动、停止这个服务来启动和关闭MySQL。图1-24 Window服务列表中的“MySQL5”1.3.2 Linux平台下配置MySQL

在Linux下配置MySQL和在Windows下以noinstall方式配置非常类似,区别在于参数文件的位置和文件名不同。Linux 下也可以在多个位置部署配置文件,大多数情况下都放在/etc下,文件名称只能是my.cnf(在Windows下文件名称可以是my.ini)。

对于初学者来说,和Windows下类似,还是建议用MySQL自带的多个样例参数文件来代替实际的参数文件。在 Linux 下,如果安装方式是 RPM 包,则自带的参数文件会放到/usr/share/mysql下,如下所示:

[root@localhost mysql]# pwd

/usr/share/mysql

[root@localhost mysql]# ls *.cnf

my-huge.cnf my-innodb-heavy-4G.cnf my-large.cnf my-medium.cnf my-small.cnf

用户可以根据实际需求选择不同的配置文件复制到/etc下,改名为my.cnf,并根据实际需要做一些配置的改动。MySQL启动的时候会读取此文件中的配置选项。1.4 启动和关闭MySQL服务

安装配置完毕MySQL后,接下来就该启动MySQL服务了。这里强调一下,MySQL服务和MySQL数据库不同,MySQL服务是一系列后台进程,而MySQL数据库则是一系列的数据目录和数据文件;MySQL 数据库必须在 MySQL 服务启动之后才可以进行访问。下面就针对Windows和Linux两种平台,介绍一下MySQL服务的启动和关闭方法。1.4.1 在Windows平台下启动和关闭MySQL服务

对于noinstall安装的MySQL,可以在DOS窗口下通过命令行方式启动和关闭MySQL服务。(1)启动服务:

cd C:\mysql-5.0.45-win32\bin

C:\mysql-5.0.45-win32\bin>mysqld --console

070703 17:19:10 InnoDB: Started; log sequence number 0 43655

070703 17:19:10 [Note] mysqld: ready for connections.

Version: '5.0.45-community-nt' socket: '' port: 3306 MySQL Community Edition

(GPL)(2)关闭服务:

C:\mysql-5.0.45-win32\bin>mysqladmin -uroot shutdown

此时,控制台输出:

070703 17:21:13 [Note] mysqld: Normal shutdown

070703 17:21:13 InnoDB: Starting shutdown...

070703 17:21:16 InnoDB: Shutdown completed; log sequence number 0 43655 070703 17:21:16 [Note] mysqld: Shutdown complete

Error in my_thread_global_end(): 1 threads didn't exit

对于采用图形化方式安装的MySQL,可以直接通过Windows的“开始”菜单(单击“开始”Æ“控制面板”Æ“管理工具”Æ“服务”菜单)启动和关闭MySQL,如图1-25所示。图1-25 服务列表中启动和关闭MySQL5

用户也可以在命令行中手工启动和关闭MySQL服务,如下所示。(1)启动服务:

C:\Program Files\MySQL\MySQL Server 5.0\bin>net start mysql5

MySQL5 服务正在启动.

MySQL5 服务已经启动成功.(2)关闭服务:

C:\Program Files\MySQL\MySQL Server 5.0\bin>net stop mysql5

MySQL5 服务正在停止.

MySQL5 服务已成功停止.1.4.2 在Linux平台下启动和关闭MySQL服务

在Linux平台下,可以采用如下命令查看MySQL服务的状态:

[root@localhost bin]# netstat -nlp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3168/mysqld

tcp 0 0:::9922 :::* LISTEN 1864/sshd

Active UNIX domain sockets (only servers)

Proto RefCnt Flags Type State I-Node PID/Program name Path

unix 2 [ ACC ] STREAM LISTENING 16537243 3168/mysqld /var/lib/mysql/ mysql.sock

unix 2 [ ACC ] STREAM LISTENING 4875 1915/xfs /tmp/.font-unix/fs7100

其中3306端口是MySQL服务器监听端口。

与在Windows平台上类似,在Linux平台上启动和关闭MySQL也有两种方法,一种是通过命令行方式启动和关闭,另一种是通过服务的方式启动和关闭(适用于RPM包安装方式)。下面将分别对这两种方法进行介绍。

1.命令行方式

在命令行方式下,启动和关闭MySQL服务命令如下所示。(1)启动服务:

[root@localhost bin]# cd /usr/bin

[root@localhost bin]# ./mysqld_safe &

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载