第三章 MySQL数据库系统

防伪码:锲而舍之,朽木不折;锲而不舍,金石可镂

第三章、MySQL数据库系统


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

   为方便演示,我们将使用图形化界面讲解MySQL基本操作、备份恢复以及用户授权

一、起源

a、MySQL是开源的关系型数据库服务器软件

b、目前由Oracle公司开发和维护

c、官网:http://uuu.mysql.com/

二、优点

a、多线程、多用户

b、基于C/S(客户端/服务器)架构

c、高性能、高可靠、易于使用

3、MySQL的编译安装

三、MySQL编译安装

1、准备工作:

a、确认没有使用rpm方式安装,否则建议将其卸载

rpm -q mysql-server mysql(查询状态)

rpm -ivh /media/RHEL_6.5\ x86_64\ Disc\ 1/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm(安装自带的ncurses-devel包,即软件开发包)

b、cmake编译安装

2、源码编译安装

a、创建运行用户,此处以用户和组都为mysql

b、解包

c、配置(默认使用字符集utf8,并且添加其他字符集的支持)

字符如下:

cmake -DCMAKE_INSTALL_PREFIX(MySQL数据库程序存放目录)=/usr/local/mysql

-DSYSCONFDIR(初始化参数文件目录)=/etc

-DDEFAULT_CHARSET(默认字符集编码,如utf8)=utf8

-DDEFAULT_COLLATION(默认字符集校对规则)=utf8_general_ci

-DWITH_EXTRA_CHARSETS(额外支持的其他字符集编码)=all

d、编译并安装

3、安装后的调整

a、对数据库目录进行权限设置

b、建立配置文件(一般选择my-medium.cnf即可,该文件能够满足大多数企业的中等应用需求)

注:MySQL服务器的配置文件默认位于/etc/my.cnf

MySQL端口号:3306

SQLServer端口号:1433(面试题)

c、初始化数据库

以内置账户执行初始化脚本mysql_install_db,指定数据存放目录

/usr/local/mysql/scripts/mysql_install_db

--user=mysql  --basedir(基本目录)=/usr/local/mysql

--datadir(数据目录)=/usr/local/mysql/data/

d、设置环境变量(即每次开机会自动加载识别)

注:. /etc/profile(空格代表另一个目录在执行)

4、添加系统服务(便于chkconfig进行管理)

注:将support-files文件夹下的mysql.server脚本,复制到/etc/rc.d/init.d目录下,

改名为mysqld,设置执行权限,然后将mysqld添加为系统服务

然后启动服务,查看运行状态,监听端口

访问数据库;

mysqladmin -u root -p password ‘新密码‘(为安全起见,建议更改初始密码,默认无密码)

mysql -u root -p

exit或quit可以退出mysql命令工具

四、使用MySQL数据库

1、查看数据库结构

show database(查看库)

use mysql;

show tables;(切换到mysql数据库,查看表)

查看表的结构(以user表为例)

use user;

describe user;

2、创建及其删除库和表(此处以benet库,366班级为例)

创建benet数据库

创建学生表(列:name 数据类型:char (48))、default默认密码字串、primary表示以name做主键

password表示密码为密文)

插入数据并查询

增删改查的语句和sqlserver的语句完全一样,可参考sqlserver语句,这里不再详细演示

五、维护MySQL数据库(重点)

1、数据库用户授权

频繁使用root账号会给服务器带来一定的安全风险,实际工作中,会建立一些低权限的用户,

给予相应的权限,从而使数据库的风险降至最低

REVOKE  权限列表  on  库名.表名  to  用户名@来源地址  identified  by  ‘密码’

权限列表:  增删改查,以逗号分离

库名.表名:可使用通配符“*”,例如使用“benet.*”表示benet数据库中的所有表

用户名@来源地址:谁能连接,从哪里连接;可使用通配符“%”,表示某个区域或网段内所有地址

identified:用户连接数据库时所使用的密码字符串,若省略,则密码为空

实验演示(添加“xiaoming”用户,允许从本机访问,对benet数据库中的所有表具有查询权限,

验证密码为“123456”):

查看权限:show  grants  for 用户名@来源地址

撤销权限:revoke  权限列表  on  数据库名.表名  from  用户名@来源地址

2、数据库的备份与恢复

及时备份数据库时信息安全管理的重要工作内容之一,MySQL数据库备份可采用多种方式

A、可直接备份目录 /usr/local/mysql/var

或B、使用专用备份工具 mysqldump

本章主要讲解MySQL自带的倾倒工具mysqldump为例

格式1:导出库中的部分表

mysqldump  选项  表名1  表名2  > /备份路径/备份文件名

格式2:导出一个或多个完整的库(含其中的表)

mysqldump  选项  --database  >  /备份路径/备份文件名

格式3:备份MySQL服务器中所有数据库

mysqldump  选项  --databases  >  /备份路径/备份文件名

恢复数据库:mysql  选项  库名  表名  <  /备份路径/备份文件名

实验演示:

格式1(以root的身份,备份benet数据库中的t366表,名为benet-t366.sql)

格式2(以root的身份,备份benet数据库,名为benet.sql)

格式3(以root的身份,备份mysql所有的数据库,名为all-data.sql)

查看备份文件内容(使用grep,less,cat等文本工具可以查看脚本内容)

恢复数据库(删除表t366,然后恢复)

验证导入结果:

实验到此就演示完毕了,希望大家学以致用!谢谢!

时间: 2024-10-12 01:27:55

第三章 MySQL数据库系统的相关文章

第三章 MySQL高级查询(一)

第三章 MySQL高级查询(一) 一.SQL语言的四个分类 1.       DML(Data Manipulation Language)(数据操作语言):用来插入,修改和删除表中的数据,如INSERT,UPDATE,DELECT. 2.       DDL(Data Definition Language)(数据定义语言):创建或删除数据库对象操作,有CREATE,DROP,ALTER三个语法组成. 3.       DQL (STructured Query Language)(数据查询语

第三章 MySQL存储引擎介绍

1 MySQL存储引擎的概念 MySQL中数据用各种不同的技术存储在文件(或内存)中,这些技术都使用不同的存储机制.索引技巧,锁定水平,并且最终提供广泛的.不同的功能,通过选择不同的技术,能够获得额外的速度或功能,从而改善整体功能. SQLServer和Oracle都使用了一种存储引擎,而MySQL有多种存储引擎. 所谓的存储引擎,其实就是表的类型 2 查询MySQL中支持的存储引擎 show engines; show engines \g show variables like 'have%

《高性能MySQL》第三章MySQL服务器性能剖析学习笔记

MySQL性能优化介绍 什么是性能优化呢?其实我们往往从广义的定义是觉得一个MySQL系统的非功能性的优化都会看作是性能优化,比如我们会将数据库服务器的稳定性.每秒执行的SQL查询数目.系统的可扩展性.cpu利用率等等特性的优化都会看成是MySQL的性能优化. 我个人比较赞同本书的观点是MySQL性能优化应该就是指MySQL的查询响应时间的优化,MySQL性能优化就是将查询响应时间优化到一个客户或者用户体验能够接受的一个程度.

第三章 MySQL应用管理

MySQL启动与关闭 登录MySQL 学会使用MySQL的帮助命令 如何修改MySQL密码 如何找回丢失的密码 原文地址:https://www.cnblogs.com/pzk7788/p/9427722.html

《深入浅出Mysql》——第三章 Mysql支持的数据类型

在整数类型中,按照取值范围和存储方式不同,分为 tinyint.smallint.mediumint.int. bigint 这 5 个类型.如果超出类型范围的操作,会发生“Out of range”错误提示.为了避免此 类问题发生,在选择数据类型时要根据应用的实际情况确定其取值范围,最后根据确定的结 果慎重选择数据类型. 对于整型数据,MySQL 还支持在类型名称后面的小括号内指定显示宽度,例如 int(5)表 示当数值宽度小于 5 位的时候在数字前面填满宽度,如果不显示指定宽度则默认为 in

MySQL Cookbook读书笔记第三章

1,查询指定列/从指定列中查询 若需要指定每一列在查询结果中出现的先后顺序,可以在select语句中指定(dstuser在dsthost之后): 查询显示用户所关注的列: 2,指定查询行 使用where关键字可以查询符合条件限制的数据例如:查找srchost为venus或者srchost以s开头的行记录: 使用操作符like进行模式匹配,其中%表示通配符,代表一个差多为任意值的字符串. where使用操作符and可以查询多个条件: 条件并集: 3,格式化显示查询结果 当查询语句中没有重命名列名,

【MySQL】《高性能MySQL》 学习笔记,第三章,服务器性能剖析

第三章:服务器性能剖析 ? 本章将针对如下三个问题进行解答: ? 如何确认服务器是否达到了性能最佳的状态 ? 找出某条语句为什么执行不够快 ? 诊断被用户描述成"停顿","堆积","卡死"的某些间歇性疑难故障 1.性能优化简介: ? 针对性能问题,1000个DBA,有1000个回答.诸如,"QPS","CPU Load","可扩展性"之类. 原则一:我们将性能定义为完成某件任务所需要的时

Mysql必知必会 第三章 使用Mysql

第三章 使用Mysql SQL语句和大小写 请注意,SQL语句不区分大小写,因此SELECT与select是相同的.同样,写成Select也没有关系.许多SQL开发人员喜欢对所有SQL关键字使用大写,而对所有列和表名使用小写,这样做使代码更易于阅读和调试. 功能 语句 备注 选择数据库 USE db_name 显示可用数据库 SHOW DATABASES 返回可用数据库的一个列表 显示数据库内的表 SHOW TABLES 返回当前数据库内表的列表 显示表中包含的列 SHOW COLUMNS FR

PHP与MYSQL程序设计【第四版】 第三章随笔——(1)

第三章PHP基础 (3.1——3.5) 3.1  在WEB页面中嵌入PHP代码 默认语法:<?php ?> 短标签:<? ?>或<?="";?>——不推荐 脚本:<script language="php"></script> ASP风格:<% %> 3.2 为代码添加注释 单行C++语法:// shell语法:# 多行C语法:/* This That */ 3.3 向浏览器输出数据 print