目录

  • 1 Linxu服务器配置与管理
    • 1.1 首页
    • 1.2 申报书
    • 1.3 项目介绍
    • 1.4 项目团队
    • 1.5 建设方案
    • 1.6 支出预算
    • 1.7 课程资源
  • 2 学习情境1 RedHat Linux基础操作
    • 2.1 学习情境1.1 RedHat Linux基本应用操作
    • 2.2 学习情境1.2 常见工具软件应用
    • 2.3 学习情境1.3 Linux系统用户与用户组的管理
  • 3 学习情境2 网络服务器架设
    • 3.1 学习情境2.1 DNS服务器架设
    • 3.2 学习情境2.2 DHCP服务的架设
    • 3.3 学习情境2.3 MySQL数据库架设
    • 3.4 学习情境2.4 Apache Web服务器架设
    • 3.5 学习情境2.5 vsftp FTP服务架设
    • 3.6 学习情境2.6 Sendmail电子邮件服务架设
    • 3.7 学习情境2.7 Helix流媒体的架设
  • 4 学习情境3 系统维护管理
    • 4.1 学习情境3.1 Linux核心管理与定制
    • 4.2 学习情境3.2 RAID磁盘阵列与LVM逻辑卷的管理应用
    • 4.3 学习情境3.3 Web集群服务器的架构
学习情境2.3 MySQL数据库架设

学习情境2.3 MySQL数据库架设

2.3.1 学习要点

1.知识点:熟悉MySQL的安装和启动步骤,熟悉MySQL数据目录

2.技能点:掌握MySQL的用户和权限设置,学会使用基于GUI和Web的MySQL客户端程序

2.3.2 任务描述

建立MySQL的帐号与MySQL组,家目录指向/usr/local/mysql,安装MySQL原码软件,MySQL数据库服务能正常启动。建立mis数据库,建立用户manager对数据库mis有管理权限。

2.3.3 相关知识

1.MySQL的发展

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1 月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。

MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:mSQL并没有他们需要的那么快和灵活。这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许用于mSQL而写的第三方代码更容易移植到MySQL。

MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。

2.MySQL管理

可以使用命令行工具管理MySQL数据库(命令mysql和mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL Administrator和MySQL Query Browser。

phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web界面管理MySQL资料库。

phpMyBackupPro也是由PHP写成的,可以透过Web介面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL数据库。

另外,还有其他的GUI管理工具,例如早先的mysql-front以及emsmysqlmanager,navicat等等。

3.Mysql最常见的应用架构

单点(Single),适合小规模应用。

复制(Replication),适合中小规模应用。

集群(Cluster),适合大规模应用。

4.Mysql存储引擎

MyISAM Mysql的默认数据库,最为常用。拥有较高的插入、查询速度,但不支持事务。

InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定。

BDB源自Berkeley DB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性

Memory所有数据置于内存的存储引擎,拥有极高的插入、更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在MySQL重新启动时丢失。

Merge将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用。

Archive非常适合存储大量的、独立的、作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差。

Federated将不同的MySQL服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用。

Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用。

CSV逻辑上由逗号分割数据的存储引擎。

BlackHole黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继。

5.MySQL的基本命令

(1)连接MySQL。

格式:mysql-h主机地址-u用户名-p用户密码

例1:连接到本机上的MYSQL

#/usr/local/mysql/bin/mysql-u root–p //用MySQL管理账户root登陆

Enter password: //输入MySQL的管理账号root密码,默认为空

Welcome to the MySQLmonitor. Commands end with;or\g.

Your MySQL connection id is 2

Server version:5.1.32 Source distribution

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

mysql> //mysql交互界面

(2)显示命令(如表2.3.1所示)

表2.3.1 命令

(续表)

6.MySQL的图形界面管理

为了方便用户对MySQL数据库进行管理,下面介绍常用的GUI客户端程序MySQL Control Center。

MySQL Control Center是一个功能齐全的基于GUI的MySQL客户端程序,可以跨平台操作。它提供了多种风格的用户界面,并且支持简体中文,非常易于操作。操作界面甚至与SQL Server数据库系统的客户端工具企业管理器(Enterprise Manager)极为相似。因此,无论在功能上还是在界面上,Mysql Control Center都可以与商业数据库系统提供的,基于GUI的客户端程序相媲美。

其安装和服务器建立连接的过程如下:

(1)对tar.gz的压缩包解压

#tar xvzfmysqlcc-Linux.tar.gz

(2)进入解压缩的目录,执行mysqlcc

#cd mysqlcc-0.9.4-Linux-glibc22

#./mysqlcc

(3)MySQL默认管理员root,密码为空,主机地址localhost,测试连接成功,如图2.3.1所示。

图2.3.1 数据库连接

(4)单击OK按钮后就可以对数据库进行操作了

(5)建库,建表,建用户

建库:鼠标右键数据库→新数据库,输入数据库名字,如图2.3.2所示。

图2.3.2 新建数据库

建表:鼠标右键表→新建数据表,如图2.3.3所示。

图2.3.3 新建数据表

建用户:鼠标右键用户管理→新用户,如图2.3.4所示。

图2.3.4 新建系统用户

2.3.4 任务实施

建立MySQL的账号与MySQL组,家目录指向/usr/local/mysql,安装MySQL原码软件,MySQL数据库服务能正常启动。建立mis数据库,建立用户manager对数据库mis有管理权限。

1.下载Mysql原码包

(1)MySQL源码分发版为tar压缩文件,文件名格式为mysql-VERSION.tar.gz,其中VER⁃SION是版本号。从www.mysql.org下载MySQL软件包mysql-5.1.29-rc.tar.gz到本地的Linux服务器上。

(2)用tar指令解压软件

#tar xvzfmysql-5.1.29-rc.tar.gz

2.创建mysql组与用户,并对mysql目录赋权

(1)添加mysql组,mysql用户

#groupadd mysql

添加mysql组

#useradd-d/usr/local/mysql -gmysql mysql

添加mysql用户,其家目录设置在/usr/local/mysql,所属组为mysql

(2)改变mysql原码目录的拥有者属性

#chown–R mysql:mysqlmysql-5.1.29-rc

目录mysql-5.1.29-rc下的文件与子目录的创建人为mysql,组为mysql。

3.安装MySQL数据库

(1)切换到mysql用户

#su mysql-//su表示用户切换

(2)配置mysql并且编译

$./configure–—prefix=/usr/local/mysql–—with-charset=gb2312

//配置MySQL安装目录在/usr/local/mysql,数据库编码为gb2312

$make

编译

$make install

4.创建MySQL授权表

$cd/usr/local/mysql

$bin/mysql_install_db//安装授权表

5.启动MySQL

#/usr/local/mysql/share/mysql/mysql.server start

Starting MySQL.. [确定]

6.建立mis数据库

数据库→右键新数据库,如图2.3.5所示。

图2.3.5 新数据库mis

7.建立用户manager对数据库mis有管理权限

用户管理→新用户,如图2.3.6所示。

图2.3.6 添加用户

注意:主机处输入%(统配符),表示任何IP都可以访问。全部权限表示用户具有对mis数据库的所有sql操作。授权选项表示具有数据库管理员权限。

2.3.5 考核要点

表2.3.2 mysql数据库架设考核要点

2.3.6 能力拓展

1.安装MySQL。

2.(1)停止MySQL数据库。

(2)启动MySQL。

3.(1)显示出所有的数据库。

(2)显示数据库test里表的信息。

(3)新建数据库menagerie。

(4)新建menagerie数据库,新建表(pet表),字段为“名字、主人、种类,性别、出生和死亡日期”。

(5)显示menagerie数据库表的信息,并查看pet表的表结构。

4.将以下的信息导入到pet表中,注意各记录之间用回车符分隔,各字段值用空格键分隔。

Fluffy Harold cat f 1993-02-04

Claws Gwen catm 1994-03-17

Buffy Harold dog f 1989-05-13

Fang Benny dogm 1990-08-27

Bowser Diane dogm 1998-08-30 1995-07-29

Chirpy Gwen bird f 1998-09-11

Whistler Gwen bird m 1997-12-09

Slim Benny snakem 1996-04-29

5.(1)查看MySQL的环境变量,及最大连接数。

(2)编辑/usr/bin/safe_mysqld,找到mysqld启动的那两行,在后面加上参数:-O max_connections=1500。

(3)重启MySQL服务。

6.(1)修改MySQL的客户端/服务端的字符编码为utf8。

(2)拷贝/usr/share/mysql/my-large.cnf到/etc/,改名为my.cnf。

(3)在client和mysald段中加入default-character-set=utf8。

(4)重启mysqld服务。

(5)登入MySQL,查看环境变量中的字符编码。

(6)创建数据库study,指定utf8字符编码。

(7)进入study数据库,查询数据库编码。

7.(1)查看MySQL系统的用户。

(2)新建一个用户pmg51,密码为pmg51,有所有数据库操作权限,所有IP登录的权限,并且有grant的权限。

(3)执行一个FLUSH PRIVILEGES语句告诉服务器再装载授权表。

(4)再查看MySQL系统的用户。

(5)用pmg51登录系统,指定登入的数据库为menagerie。

(6)显示当前pmg51用户连接的数据库。