MySQL服务器的基本安装配置以及相关操作解析.docx
- 文档编号:25432983
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:22
- 大小:1.67MB
MySQL服务器的基本安装配置以及相关操作解析.docx
《MySQL服务器的基本安装配置以及相关操作解析.docx》由会员分享,可在线阅读,更多相关《MySQL服务器的基本安装配置以及相关操作解析.docx(22页珍藏版)》请在冰豆网上搜索。
MySQL服务器的基本安装配置以及相关操作解析
第6章MySQL服务器
数据库服务一般是以后台运行的数据库管理系统为基础,加上一定的前台程序,为各种应用提供数据的存储、查询等功能的服务,广泛应用于电子商务、电子政务、因特网网站、搜索引擎、信息管理等不同领域。
本章主要介绍了数据库的基本知识。
6.1MySQL数据库
6.1.1MySQL简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL最初开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。
不管怎样,在经过一些测试后,开发者得出结论:
mSQL并没有他们需要的那么快和灵活。
这导致了一个使用几乎和mSQL一样API接口的新SQL的产生,这个API被设计成允许用mSQL书写的第三方代码,且更容易被移植到MySQL。
6.1.2MySQL的特性
●使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;
●支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;
●为多种编程语言提供了API。
这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等;
●支持多线程,充分利用CPU资源;
●优化的SQL查询算法,有效地提高查询速度;
●既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其它的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名;
●提供TCP/IP、ODBC和JDBC等多种数据库连接途径;
●提供用于管理、检查、优化数据库操作的管理工具;
●可以处理拥有上千万条记录的大型数据库。
6.1.3MySQL的应用
目前,Internet流行的网站构架方式是LAM(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。
由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。
与其它的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
6.2MySQL的安装和使用
为了便于测试,防止在实验的过程中误删底层配置文件,由于物理机一旦出错,可能造成系统崩溃,因此本次实验的所有操作均在虚拟机中进行。
6.2.1软件包解压及安装
步骤1:
虚拟机前期环境配置
关闭防火墙和selinux:
iptables-F
setenforce0
serviceNetworkManagerstop
chkconfigNetworkManageroff
步骤2:
YUM软件仓库的配置
vim/etc/yum.repos.d/rhel.repo,将配置文件中原有的内容删除,重新录入以下内容,配置如图6-1所示。
图6-1YUM软件仓库的配置文件
yumrepolist//刷新软件仓库,成功效果如图6-2所示。
图6-2YUM软件仓库配置的成功效果
步骤3:
先删除原始包yumremovemysql*
注意:
我们使用的是mysql5.0版本需要将之前mysql6.0的软件包都卸载掉才行,否则,在启动执行的过程中会发生错误。
步骤4:
将图6-3安装包解压。
图6-3MySQL压缩包
tar-xf/root/Desktop/MySQL-5.6.22-1.el6.x86_64.rpm-bundle.tar
解压后将解压后的内容放在一个新创建的文件夹命名为MySQL,如图6-4所示。
图6-4解压后的内容
步骤5:
cdMySQL/下查看,效果如图6-5所示。
图6-5解压后的软件包
步骤6:
安装MySQL/目录下软件包
注意:
直接安装MySQL,因为有前后依赖性,所以可以用一条命令一起安装!
yuminstall-yMySQL-shared-compat-52-1.el6.x86_64.rpmMySQL-devel-5.6.22-1.el6.x86_64.rpmMySQL-
client-5.6.22-1.el6.x86_64.rpm
yuminstallMySQL-server-5.6.22-1.el6.x86_64.rpm
yum-IinstallMySQL-embedded-5.6.22-1.el6.x86_64
yum-yinstallMySQL-shared-5.6.22-1.el6.x86_64
yum-yinstallMySQL-test-5.6.22-1.el6.x86_64
步骤7:
安装成功后查看效果如图6-6所示。
图6-6MySQL安装的成功效果
注意:
安装成功后,只有大写Mysql的7个软件包,没有小写mysql的相关软件包。
步骤8:
重启服务,效果如图6-7所示。
图6-7重启mysql服务的成功效果
6.2.2修改mysql初始密码
步骤1:
切换在根目录下进行操作:
cd/root
步骤2:
查看初始密码:
cat.mysql_secret
执行过程如图6-8所示。
图6-8mysql初始密码
注意:
可以看见产生的随机密码,建议先将其复制下来,在后续步骤中会使用到,但是在复制时需要注意不能多、漏!
步骤3:
将mysql服务重启:
servicemysqlstart
步骤4:
进行密码修改:
mysql_secure_installation
成功效果如图6-9、6-10所示。
图6-9修改mysql初始密码的过程
注意:
要将之前复制的随机密码复制在图中第二标示处,才可以进行初始密码的修改。
图6-10修改mysql初始密码的成功效果
注意:
在修改密码过程中出现的“yesorno”选项,均为yes。
6.3MySQL客户端的相关介绍
客户端使用方式:
●交互式
●非交互式
最为常用的往往是交互式,而非交互式往往在某一些特殊需要下才进行使用。
mysql命令后面可以跟上很多相应的参数,不同的参数起到不同的作用,常见参数解释如下:
参数
解释
-u
指定登录用户名
-p
指定登录密码
-h
指定数据库主机地址
-P
指定登录端口
Dbname
指定操作数据库
-e
使用非交互式操作
6.4SQL语句及其操作
6.4.1SQL语句介绍:
●DDL(DataDefinitionLanguage):
数据定义语言,主要的命令有Create、Alter、Drop等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,它们大多在建立表时使用;
●DML(DataManipulationLanguage):
数据操纵语言,主要的命令有Select、Delete、Update、Insert4项操作,是对数据库里的数据进行操作的语言;
●DCL(DataControlLanguage):
数据控制语言,主要的命令有Grant、Revoke、Commit、Rollback是用来设置或更改数据库用户或角色权限的语句,实现数据库控制功能。
在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL。
6.4.2数据库创建等相关内容
注意:
以root身份登录数据库的命令为:
“mysql-uroot-p123”(密码为所修改后的mysql密码,要根据自己修改的密码,不一定都是123),登陆后才可进行下面的操作;
退出数据库的命令为:
“exit”或“\q;”,退出当前登录用户。
(1)数据库创建:
createdatabaseshinee;//shinee为所创建的数据库名
创建成功效果如图6-11所示。
图6-11数据库创建成功的效果
(2)查看当前用户所有数据库:
showdatabases;
执行效果如图6-12所示。
图6-12当前用户的所有数据库
(3)删除数据库:
dropdatabaseshinee;
执行效果如图6-13所示。
图6-13删除数据库的成功效果
注意:
每一条sql语句的最后都需要有一个分号来进行结尾,表示整条语句执行完毕。
不然mysql这个客户端会认为你还会有一些后续的输入,并且会另起新的一行,来准备输入。
如果想修改上面一条语句,没有必要重新输入一遍,只要利用键盘的上下键就可以调出命令的历史。
6.4.3表的相关内容
注意:
在执行表的相关操作时,要先指定表所在的库:
usedatabasename;
(1)表的创建:
USEshinee;//指明使用该用户下的哪个数据库
CREATETABLEff(
idINT(10),
nameVARCHAR(20));
执行效果如图6-14所示。
图6-14创建表的成功效果
(2)表结构的查看:
方法一:
desctablename;
执行效果如图6-15所示。
图6-15查看表结构的方法1
方法二:
showcreatetableff;
执行效果如图6-16所示。
图6-16查看表结构的方法2
(3)查看当前库中的所有表:
Showtables;
执行效果如图6-17所示。
图6-17当前数据库的所有表
(4)查询表中记录:
select*fromff;
执行效果如图6-18所示。
图6-18查询表中记录的显示效果
注意:
为了查询表中记录的测试更为直观,所以在查询前我将两条记录插入了表ff中,故查询结果中显示两条记录。
若没有进行前期插入,正常情况下是空的,并不是存在错误,插入数据的命令将在以下内容中讲到。
(5)插入数据
方法一:
INSERTINTOff
SETid=1,
name=‘zhaofang’;
执行效果如图6-19所示。
图6-19向表中插入记录的方法1
方法二:
INSERTINTOff
(id,name)
VALUES
(2,'zhangsan');
执行效果如图6-20所示。
图6-20向表中插入记录的方法2
插入后查看效果:
select*fromff;
执行效果如图6-21所示。
图6-21插入成功的效果
(6)删除表中的记录
删除表中指定记录:
Deletefromffwherename='zhangsan';
执行效果如图6-22所示。
图6-22删除表中指定记录的成功效果
删除表中全部记录:
deletefromff;
执行效果如图6-23所示。
图6-23删除表中全部记录的成功效果
(7)表的删除:
droptableff;
执行效果如图6-24所示。
图6-24表删除的成功效果
6.4.4MySQL用户管理
(1)创建用户并设置密码:
格式:
createuser‘用户名’@’授予权限身份’identifiedby‘用户登录密码’
createuser'fangfang'@'localhost'identifiedby'123';
执行效果如图6-25所示。
图6-25创建用户并设置密码的命令执行效果
(2)查看所有用户:
方法1:
selectuserfrommysql.user;
方法2:
selectuserfrommysql.user\G;(按字段显示)
执行效果如图6-26所示。
图6-26查看所有用户的方法1
注意:
这里只对方法1的执行效果进行了演示,方法2同学们可进行测试。
(3)修改用户名
renameuserfangfang@'localhost'tozf@'localhost';
执行效果如图6-27所示。
图6-27修改用户名的命令执行效果
测试:
方法一:
selectuserfrommysql.user;
执行效果如图6-28所示。
图6-28修改用户名的测试方法1
方法二:
以zf身份登录看能否登录成功
退出当前登录用户:
exit
以zf身份登录:
mysql-uzf-p123
执行效果如图6-29所示。
图6-29修改用户名的测试方法2
(4)修改用户密码
●修改当前用户密码:
setpassword=password('123456');
●修改特定用户密码:
setpasswordfor'zf'@'localhost'=password('123456');
修改用户zf用户密码执行效果如图6-30所示。
图6-30修改用户zf登录密码的命令
连接测试1:
登录用户zf:
mysql-uzf-p123456
执行效果如图6-31所示。
图6-31以新密码登录用户zf的测试效果
●修改root密码:
updatemysql.usersetpassword=password('123456')
wherehost='localhost'anduser='root';
flushprivileges;//刷新权限
执行效果如图6-31所示。
图6-31修改root用户登录密码的操作过程
连接测试2:
登录root,执行效果如图6-33所示。
图6-33以新密码登录root的测试成功效果
注意:
在进行修改用户密码的三种方式的过程中,要注意灵活切换身份,若身份发生错误,则会导致测试不成功。
6.4.5MySQL授权
MySQL存取控制包含2个阶段:
阶段1:
服务器检查是否允许你连接。
阶段2:
假定你能连接,服务器检查你发出的每个请求。
看你是否有足够的权限实施它。
注意:
只有root用户有权限对自己或其他普通用户进行授权(或移除授权),普通用户无权对自己和其他用户(root用户或普通用户)进行授权的相关操作。
(1)查询用户授权信息
showgrantsforzf@'localjhost';
执行效果如图6-34所示。
图6-34查询用户zf授权信息的显示效果
(2)使用grant命令进行授权
格式:
grant权限on库.表to用户@主机
授予用户zf对shinee库下的ff表的select权限:
grantselectonshinee.fftozf@'localhost';
执行效果如图6-35所示。
图6-35select权限授权的命令操作
授予用户zf对shinee库下的ff表的insert权限:
grantinsertonshinee.fftozf@'localhost';
执行效果如图6-36所示。
图6-36insert权限授权的命令操作
测试:
方法一:
mysql>showgrantsforzf@'localhost';
执行效果如图6-37所示。
图6-37授权测的试方法1
方法二:
以zf身份测试,看能否对shinee库下的ff表进行查看和插入:
mysql-uzf-p123456
useshinee;
select*fromff;
insertintoffsetid=5,name=‘miho’;
测试结果:
该用户对ff表有查询和插入权限。
执行效果如图6-38所示。
图6-38授权的测试方法2
(3)移除授权:
revoke命令格式:
revoke权限on库.表from用户@主机;
revokeselectonshinee.fffromzf@'localhost';
查看移除授权后的效果:
showgrantsforzf@'localhost';
执行效果如图6-39所示。
图6-39移除授权及测试的成功效果
6.4.6配置过程中可能出现的问题
问题1:
问题描述:
使用yum-yinstallMySQL-*后,服务不被识别。
出错原因:
(1)由于忽略了软件包之间存在相互的依赖关系需要有一定安装顺序;
(2)实验中使用的是mysql5.0版本需要将之前mysql6.0的软件包都卸载掉才行,二者存在冲突,而导致服务无法识别.
解决方法:
需要将所安装mysql相关的包均卸载掉,只留下大写的7个包即可。
注意:
接着,要用手敲,注意协调卸载顺序,顺序不对就无法卸载成功,重启服务即可。
问题2:
问题描述:
将服务启动时,启动出错,错误提示信息为:
ERROR:
TheserverquitwithoutupdatingPIDfile(/var/lib/mysql/localhost.localdomain.pid).
出错原因:
mysql服务被其他进程占用,导致启动出错。
解决方案:
Ps-ef|grepmysql//查看其他进程是否占用该服务
Pkill-9*****//将对应进程号杀掉
再次重启服务即可:
Servicemysqlrestart。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL 服务器 基本 安装 配置 以及 相关 操作 解析