资源描述
“十二五”职业教育国家规划教材选题立项 Red Hat Enterprise Linux 6.4(RHEL6.4) 教材附带的光盘资源,Linux网络操作系统配置与管理,教材主编:夏笠芹,课程标准(教学大纲) 教学设计方案(教案) PPT电子课件 教材习题参考答案 模拟试卷及参考答案(4套) IT认证+全国技能大赛资料 知识拓展&网络工程解决方案,项目11 MySQL数据库服务器的搭建,【职业知识目标】 了解:数据库服务器的基本概念 熟悉: MySQL的特点 掌握:MySQL服务器的安装与配置,掌握常用的MySQL操作命令与用户权限管理方法。 【职业能力目标】 会安装与配置MySQL服务器 会使用常用的MySQL操作命令 会使用用户权限管理命令,11.1 项目描述,截至2013年6月底,中国的网站数为294万个,其中,就有大量带有后台数据库的动态网站,即网站中网页的内容大都存储在数据库中,用户访问网站是通过读取数据库来动态生成网页。 凡是具有交互(用户和Server的交互)功能的网站都属于动态网站,而动态网站都离不开后台数据库的支持。例如,要建立一个职业介绍服务的站点,就需要使用数据库来存储来自访问者的诸如个人简历,所感兴趣的工作等各种信息。如果想显示符合来访者要求的最好的工作,就需要从数据库中取出这份工作的信息。 总之,那些可进行用户注册、能发布和搜索产品信息、检查银行账户、股票价格、利率、实现电子商务交易等等的网站,都是动态网站。 由此看来,要搭建一个动态网站,不仅包括前台网页页面的设计,还包括后台数据库服务器的搭建与管理。本项目主要介绍是MySQL数据库服务器的安装、配置和使用。,11.2 项目知识准备,11.2.1 数据库服务器的基本概念 数据库 数据库管理系统(DBMS) 数据库系统(DBS) 数据库服务器 数据库分为三种基本形式 : 关系型数据库 层次型数据库 网状型数据库 运行在Linux系统上的关系型数据库管理系统主要产品: 企业级服务器:Oracle、Sybase、DB2 中小型服务器:MySQL、PostgreSQL,11.2 项目知识准备,11.2.2 MySQL简介 总体来说,MySQL数据库管理系统具有以下主要特点: 可以运行在不同平台上,支持多用户、多线程和多CPU,没有内存溢出漏洞; 提供多种数据类型,支持ODBC、SSL、支持多种语言利用MySQL的API进行开发; 是目前市场上现有产品中运行速度最快的数据库系统; 同时访问数据库的用户数量不受限制; 可以保存超过50,000,000条记录; 用户权限设置简单、有效。,11.3 项目实施,1. 认识MySQL的rpm安装包,任务11-1 MySQL服务器的安装,任务11-1 MySQL服务器的安装,2使用rpm包安装MySQL 步骤1:以root身份登录到RHEL6系统的字符界面。 步骤2:查看系统中是否已安装mysql软件,若无任何显示表明未安装。 rootdyzx # rpm -qa *mysql* 步骤3:将DVD安装光盘放入光驱,并将光驱挂载到/mnt目录中。 rootdyzx # mount /dev/cdrom /mnt 步骤4:由于此主机既作为服务器端又作为客户端,这里先安装MySQL的客户端安装包,该安装包的依赖软件包是perl-DBI。MySQL的服务端安装包还要依赖perl-DBD-MySQL软件包。,rootdyzx dyzx # rpm -ivh /mnt/Packages/mysql-5.1.66-2.el6_3.i686.rpm rootdyzx dyzx # rpm -ivh /mnt/Packages/perl-DBD-MySQL-4.013-3.el6.i686.rpm rootdyzx dyzx # rpm -ivh /mnt/Packages/mysql-server-5.1.66-2.el6_3.i686.rpm,任务11-2 MySQL服务器的运行管理,1MySQL服务的启动、停止、重启和查询启动状态 service mysqld start|stop|restart|status 2设置开机自动启动的功能 chkconfig -level 35 mysqld on 3登录及退出MySQL环境 mysql -h 主机名或IP地址 -u 用户名 -p 用户密码 退出MySQL服务器,可在MySQL提示符后输入exit或quit命令。 mysql exit 4设置MySQL数据库root账号的密码 mysqladmin -u 用户名 -h 服务器主机名或IP地址 -p password 新口令 root用户默认的空口令进行更改,其命令的格式为: # mysqladmin -u root -p password 新口令 【例11-1】先将root用户的密码设置为123,再将用户root的密码改为456。,rootdyzx # mysqladmin -u root password 123 rootdyzx # mysqladmin -u root -p password 456 Enter password: /输入旧密码123后完成修改,任务11-3 MySQL的基本操作,1数据库管理,mysql安装后默认会创建三个数据库information_schema、mysql和test, 其中名为“mysql”的数据库很重要,它里面保存有MYSQL的系统信息,用户修改密码和新增用户,实际上就是针对该数据库中的有关数据表进行操作。,任务11-3 MySQL的基本操作,1数据库管理 【例11-2】新建一个student的学生库,并选择该数据库作为当前数据库。,mysql CREATE DATABASE student; Query OK, 1 row affected (0.00 sec) mysql USE student; Database changed,任务11-3 MySQL的基本操作,2数据表结构管理,【例11-3】student学生库中创建一个名为course课程表。course表包括两个字段stu_id、stu_name,均为非空字符串值,初始学号值设为“20110000”,其中,stu_name字段被设为关键索引字段(PRIMARY KEY)。,mysql CREATE TABLE course (id CHAR(10) NOT NULL DEFAULT 20120000,PRIMARY KEY (id), name CHAR(8) NOT NULL); Query OK, 0 rows affected (0.00 sec) mysql DESCRIBE course; /显示当前student库中course表的结构信息 +-+-+-+-+-+-+ | Field | Type | Null | Key | Default | Extra | +-+-+-+-+-+-+ | id | char(10) | NO | PRI | 20120000 | | | name | char(8) | NO | | NULL | | +-+-+-+-+-+-+ 2 rows in set (0.00 sec) mysql show tables; /显示当前student库中有哪些数据表 +-+ | Tables_in_student | +-+ | course | +-+ 1 row in set (0.00 sec),任务11-3 MySQL的基本操作,任务11-3 MySQL的基本操作,3记录的查看、插入、修改与删除,【例11-4】向student学生库中course表中插入两个学生的记录。并对有关记录进行显示、修改和删除的操作。,任务11-3 MySQL的基本操作,mysql INSERT INTO student.course (id,name) VALUES(20120164, zhang3); Query OK, 1 row affected (0.00 sec) mysql INSERT INTO student.course (id,name) VALUES(20120165, lisi); Query OK, 1 row affected (0.00 sec) mysql SELECT * FROM student.course; +-+-+ | id | name | +-+-+ | 20120164 | zhang3 | | 20120165 | lisi | +-+-+ 2 rows in set (0.00 sec) mysql UPDATE student.course SET name=li4 WHERE name=lisi; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql DELETE FROM student.course WHERE name=li4; Query OK, 1 rows affected (0.00 sec),任务11-4 用户与权限的管理,1创建与授权用户 grant 权限列表 on 数据库名.表名 to 用户名来源地址 identified by 密码 权限列表:是以逗号分隔的权限符号。主要用户权限如表11-5所示。,数据库名.表名:可使用通配符“*”,例如“*.*”表示任意数据库中的任意表。 用户名来源地址:用于设置谁能登录,能从哪里登录。用户名不能使用通配符,但可使用连续的2个单引号“”来表示空字符串,可用于匹配任何用户;来源地址可使用“%”作为通配符,匹配某个域内的所有地址(如%),或使用带掩码标记的网络地址(如172.16.1.0/16);省略来源地址时相当于“%”。 省略“identified by”部分时,新用户的密码将为空。,任务11-4 用户与权限的管理,【例11-5】试增加一个名为user1的MySQL用户,允许其从本地主机(即MySQL数据库所在的主机)上登录,且只能对数据库student进行查询,用户密码设置为abc。然后验证该用户能否进行登录、查询和添加记录的操作。,mysqlgrant select on student.* to user1localhost identified by “abc”;/创建并授权用户 Query OK, 0 rows affected (0.00 sec) mysqlexit rootdyzx # mysql -h localhost -u user1 p /验证登录操作 Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 10 Server version: 5.1.66 Source distribution Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type help; or h for help. Type c to clear the current input statement. mysql SELECT * FROM student.course; /验证查询操作 mysql INSERT INTO student.course (id,name) VALUES(20120166, wang5);/添加记录 ERROR 1142 (42000): INSERT command denied to user user1localhost for table course,任务11-4 用户与权限的管理,2查看用户的权限 查看用户权限命令: select命令 show grants for 用户名域名或IP地址; 【例11-6】查看用户user1从服务器本机进行连接时的权限。,mysql show grants for user1localhost; +-+ | Grants for user1localhost | +-+ | GRANT USAGE ON *.* TO user1localhost IDENTIFIED BY PASSWORD 7cd2b5942be28759 | | GRANT SELECT ON student.* TO user1localhost | +-+ 2 rows in set (0.00 sec),任务11-4 用户与权限的管理,3撤销用户的权限 revoke 权限列表 on 数据库名.表名 from 用户名域名或IP地址 【例11-7】撤销用户user1从服务器本机访问数据库student的查看权限。,mysql revoke select on student.* from user1localhost; Query OK, 0 rows affected (0.00 sec) mysql show grants for user1localhost; +-+ | Grants for user1localhost | +-+ | GRANT USAGE ON *.* TO user1localhost IDENTIFIED BY PASSWORD 7cd2b5942be28759 | +-+ 1 row in set (0.00 sec),任务11-5 数据库的备份与恢复,1直接备份数据库所在的目录 使用cp、tar等命令直接备份数据库所存放的目录 2使用mysqldump命令备份和恢复 1)备份(导出)数据 mysqldump -u 用户名 -p 密码 选项 数据库名 表名 /备份路径/备份文件名 -all-databases备份服务器中的所有数据库内容; -opt对备份过程进行优化,此项为默认选项 【例11-8】备份指定的student数据库,备份student数据库中的course表,备份服务器中的所有数据库内容。,rootdyzx # mysqldump -u root -p -opt student back_student Enter password: rootdyzx # mysqldump -u root -p student course back_course Enter password: rootdyzx # mysqldump -u root -p -all-databases back_all Enter password: rootdyzx # ll back* -rw-r-r- 1 root root 422877 12-16 06:56 back_all -rw-r-r- 1 root root 1825 12-16 06:55 back_course -rw-r-r- 1 root root 1825 12-16 06:55 back_student,任务11-5 数据库的备份与恢复,2)恢复(导入)数据 mysql -u root -p 数据库名 /备份路径/备份文件名 【例11-9】 恢复整个student数据库;恢复student数据库中的course表;恢复服务器中的所有数据库内容。,rootdyzx # mysql -u root -p student back_student Enter password: rootdyzx # mysql -u root -p student back_course Enter password: rootdyzx # mysql -u root -p back_all Enter password:,项目小结,项目知识准备 数据库服务器的基本概念 MySQL简介 项目实施 任务11-1 MySQL服务器的安装 任务11-2 MySQL服务器的运行管理 任务11-3 MySQL的基本操作 任务11-4 用户与权限的管理 任务11-5 数据库的备份与恢复,
展开阅读全文