mysql项目实战教程
一、MySQL简介MySQL一般特制完整的MySQLRDBMS,是一个开源的关系型数据库管理系统(Relational Database Management System),现在属于Oracle公司...
2024.11.15近几年,开源数据库逐渐流行起来。由于具有免费使用、配置简单、稳定性好、性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而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不同版本之间的重要改进
版本
重要改进
4.1
增加了子查询的支持;字符集中增加了对UTF8的支持
5.0
增加了视图、过程、触发器的支持,增加了INFORMATION_SCHEMA系统数据库
5.1(Beta)
增加了表分区的支持
6.0(Alpha)
FALCON存储引擎的支持
在每个版本里面,还分别有3种类型。
1.Standard:推荐大多数用户下载。
2.Max:除Standard的所有内容外,还有一些附加的新特性,这些特性还没有通过正式的测试发布,主要用于提升用户的认识和体验。
3.Debug:和Standard类似,但是包括了一些调试信息,会影响系统性能,所以不推荐用户下载。
对于不同的操作系统平台,MySQL提供了相应的版本,本章将以Windows平台下的nointall包和图形化安装包以及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
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-3中,本例显示的URL是:
http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-noinstall-5.0.45-win32.zip/from/http://mysql.cdpa.nsysu.edu.tw/
(2)然后用wget命令在Linux服务器上直接下载Server和Client软件包。
在本例中,下载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平台下安装MySQLWindow平台下的安装包主要有两种,一种是noinstall包,顾名思义,不需要安装就可以直接使用;另一种是.zip安装包,可以通过图形化界面进行安装。下面分别就两种安装方式进行介绍。
1.noinstall安装在Windows平台下安装MySQL,其安装步骤非常简单:将下载的文件mysql-noinstall-5.0.45-win32.zip放到自定义安装目录下,再用WinRAR等压缩工具解压即可。本例中解压到C:\目录下,如图1-4所示。
2.图形化方式安装在Windows平台下,采用图形化方式安装的操作步骤如下。
(1)将压缩文件mysql-5.0.45-win32.zip解压到自定义的一个目录下,在本例中解压到c:\。
(2)双击位于c:\下的setup.exe文件,进入MySQL欢迎安装界面,如图1-5所示。
(3)单击“Next”按钮,进入“Setup Type”界面,选择MySQL安装类型,如图1-6所示。
这3种安装类型分别对应着不同的安装组件,其含义如下。
1》Typical表示一般常用的组件都会被安装,默认情况下安装到c:\Program Files\MySQL\MySQL Server5.0下,建议大多数情况下选择此安装套件。
2》Complete表示会安装所有的组件,此套件会占用较大的磁盘空间,一般情况下不要选。
3》Custom表示根据用户可以选择要安装的组件、可以更改默认的安装路径,这种安装类型最灵活,适用于高级用户。
在这里选择Typical类型。
(4)单击“Next”按钮,进入“Ready to Install Program”界面,如图1-7所示。
此界面进行了安装前的提示,确认安装类型和安装路径。如果想修改,可以单击“Back”按钮返回修改。
(5)单击“Install”按钮,开始安装过程,如图1-8所示。安装完毕前,系统会显示MySQL Enterprise版(企业版)的一些功能介绍界面,如图1-9所示,可以单击“Next”按钮继续看完,也可以单击右上角关闭按钮跳过。
(6)最后,系统显示安装完毕,如图1-10所示。
(7)单击“Finish”按钮完成安装过程,如果想马上配置数据库连接,则选中“Configure the MySQL Server now”复选框。如果想以后再配置,则取消复选框的选中状态。这里取消选中状态,后面再进行配置的介绍。至此,MySQL安装完毕,Windows的“所有程序”菜单中已经多了“MySQL”一项,如图1-11所示。
1.2.2 在Linux平台下安装MySQL在Linux平台下安装和Windows平台有所不同,不能用图形化的方式来安装,并且在Linux下支持3种安装方式:RPM包、二进制包、源码包。下面以RPM包为例来介绍如何在Linux平台下进行MySQL的安装,其他安装方式还会在本书第4篇的第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.2.3 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 (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所示。
用户也可以在命令行中手工启动和关闭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.3.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包安装方式)。下面将分别对这两种方法进行介绍。
在命令行方式下,启动和关闭MySQL服务命令如下。
(1)启动服务:
[root@localhost bin]# cd /usr/bin
[root@localhost bin]# ./mysqld_safe &
[1] 23013
[root@localhost bin]# Starting mysqld daemon with databases from /var/lib/mysql
(2)关闭服务:
[root@localhost bin]# mysqladmin -uroot shutdown
STOPPING server from pid file /var/lib/mysql/localhost.localdomain.pid
070820 04:36:30 mysqld ended
[1]+ Done ./mysqld_safe
如果MySQL是用RPM包安装的,则启动和关闭MySQL服务过程如下。
(1)启动服务:
[root@localhost zzx]# service mysql start
Starting MySQL[ OK ]
如果在启动状态,需要重启服务,可以用以下命令直接重启,而不需要先关闭再启动:
[root@localhost mysql]# service mysql restart
Shutting down MySQL..[ OK ]
Starting MySQL[ O K ]
(2)关闭服务:
[root@localhost bin]# service mysql stop
Shutting down MySQL.STOPPING server from pid file /var/lib/mysql/localhost.localdomain.pid
070727 06:30:31 mysqld ended
[ OK ]
[1]+ Done mysqld_safe
注意:在命令行启动MySQL时候,如果不加“--console”,启动关闭信息将不会在界面中显示,而是记录在安装目录下的data目录里面,文件名字一般是hostname.err,可以通过此文件查看MySQL的控制台信息
1.5 小结
本章以Windows平台和Linux平台为例讲述了MySQL在不同操作系统平台上的下载、安装、配置、启动关闭的过程。其中在Windows平台下介绍了主要的两种安装包:noinstall包和图形化安装包;而在Linux平台下只介绍了RPM包,而没有介绍二进制包和源码包。之所以选择这几种包进行安装,主要是因为它们比较简单,适合初学者快速入门。在第4篇的第24章中,将会对Linux下的二进制包和源码包进行详细的介绍。
涉嫌维权请联系小编下架。喜欢的读者请留下关注,激励作者持续更新。
一、MySQL简介MySQL一般特制完整的MySQLRDBMS,是一个开源的关系型数据库管理系统(Relational Database Management System),现在属于Oracle公司...
2024.11.15MySQL是一个开放源码的小型关联式数据库管理系统。目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为...
2024.11.12一、前言生产环境建议使用二进制安装法,其优点是部署简单、快速、方便,并且相对"yum/rpm安装" 方法能更方便地自定义文件存放的目录结构,方便用脚本批量部署,方便日后运维管理。在生产上很少用到源码编...
2024.11.12概述安装mysql有三个方式:RPM、二进制包和源代码,我一般用的是源代码这种方式,然后再初始化数据库和配置服务脚本。一、使用RPM包进行安装首先可以从安装光盘中或者到mysql的网站上下载对应版本的...
2024.11.131. 场景描述mysql离线安装并不复杂,就是经常会出现漏东西,有时候的搞半天,总结下,快速离线安装mysql,直接把下面的命令敲一遍就好,5-10分钟就能安装好。2. 解决方案安装的mysql版本为...
2024.11.15