《Linux网络操作系统》课件-项目15 部署MariaDB服务_第1页
《Linux网络操作系统》课件-项目15 部署MariaDB服务_第2页
《Linux网络操作系统》课件-项目15 部署MariaDB服务_第3页
《Linux网络操作系统》课件-项目15 部署MariaDB服务_第4页
《Linux网络操作系统》课件-项目15 部署MariaDB服务_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目15部署MariaDB服务内容项目引入1需求分析2知识准备3项目实施4小结6反思与进阶5项目引入随着购物网站的兴起,“双11”“双12”,已经成为全民网购的盛会。网购却离不开网站的支持,网站上的用户注册、登录、商品的浏览,结算、商品管理、公告等功能的实现更是离不开数据库的支持,在安全、稳定的平台上应用数据库来做开发已经成为一种趋势。需求分析为了部署稳定、安全的电子邮件服务,IT协会决定在Linux系统中部署电子邮件服务。那么必须先了解电子邮件的传输过程,使用的网络协议等,能根据实际情况部署电子邮件服务。掌握电子邮件服务的原理;掌握SMTP和POP3协议原理;会使用sendmail和postfix部署邮件服务。知识准备一、电子邮件服务概述在Linux平台上安装数据库,掌握数据库的基本操作后,能完成LAMP网站的部署,掌握数据库在实际中的应用。了解Linux下数据的部署方式;理解MySQL与MariaDB的区别和联系;能完成MariaDB日常运维;能部署LAMP网站。知识准备一、数据库的相关概念数据库是数据管理的有效形式,它是计算机收集和存储数据的仓库或容器。数据库中的数据具有结构化形式存储、冗余度小,以及独立于应用程序、易于扩充、为多个用户所共享等众多优点,因此作为信息系统核心和基础的数据库技术得到越来越广泛的应用。从小型事务处理到大型信息系统,从一般企业管理到计算机辅助设计与制造、办公信息系统、地理信息系统等,越来越多新的应用领域采用数据库存储并处理它们的信息资源。知识准备一、数据库的相关概念关系数据库管理系统是现代流行的数据库系统中应用最为普遍的一种,也是有效的数据组织方式之一。在Linux环境下,可以运行大多数的关系型数据库系统管理系统。其中常用有以下五种:MySQL是广泛使用的LAMP(Linux,Apache,MySQL,Perl/PHP/Python)的重要组件。它是网络应用中的常用系统。一些流行的开源软件项目,比如WordPress,MyBB,Drupal和Joomla都使用MySQL。MySQL使用C&C++语言写成,SQL解析器用yacc写成。MySQL的主要特点包括支持SSL,查询缓存,嵌入数据库库文件等。知识准备一、数据库的相关概念ApacheDerby是一款开源的关系型数据库管理系统,基于Java,JDBC和SQL标准。项目的目标是致力于提供安装简便、运维简易的服务。可以通过标准的DRDA协议链接TCP/IP,也支持JDBC,ODBC/CLI,Perl和PHP。PostgreSQL,是一款由Ingres项目演变来的开源和免费的对象关系型数据库管理系统(ORDBMS)。它支持多版本并发控制、时间点恢复、在线备份、高级查询优化等。HSQLDB是一款支持SQL-92和SQL:2008标准的关系型数据库管理系统。提供一个小而快速的数据库引擎。同时,支持命令行、图形界面管理工具和小型化网络服务器。从版本1.1开始,可以运行在Javaruntime上。Ingres也是一关系型数据库管理系统,目标是支持大规模企业和政府应用。知识准备二、MariaDB简介MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。MariaDB由MySQL的创始人MichaelWidenius主导开发。MariaDB跟MySQL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同。目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了Oracle官方的MySQL版本。知识准备二、MariaDB简介LAMP架构盛极一时,这离不开MySQL的免费与易用,但是在Oracle收购了Sun之后,很多公司开始担忧MySQL的开源前景,开始寻求MySQL的替代方案。因为MySQL创始人的介入,MariaDB备受关注,Drupal、MediaWiki、phpMyAdmin、WordPress等众多应用都宣布支持MariaDB。项目实施一、安装MariaDB数据库1. 检查并安装MariDB数据库服务器。在终端窗口输入:“rpm-qmariadb”命令,检查系统是否安装了mariadb软件包。[root@localhost~]#rpm-qmariadb未安装软件包mariadb[root@localhost~]#yuminstall-ymariadb*2. 安装完成后再次查询。[root@localhost~]#rpm-qa|grepmariadb项目实施一、安装MariaDB数据库3. 其他准备工作。配置MariaDB数据库服务器IP地址54,关闭防火墙,设置系统的安全机制为permissive,并生效。[root@localhost~]#vi/etc/sysconfig/network-scripts/ifcfg-ens33[root@localhost~]#ifconfigens33[root@localhost~]#systemctlstopfirewalld[root@localhost~]#systemctldisablefirewalld[root@localhost~]#vi/etc/selinux/config[root@localhost~]#setenforce0[root@localhost~]#getenforcePermissive项目实施二、启动与停止MariaDB数据库在RedHatEnterpriseLinux7.6中,MariaDB数据库被安装为服务,所以遵循服务的启动、停止规范。1. 启动MariaDB服务。[root@localhost~]#systemctlstartmariadb.service或者[root@localhost~]#systemctlstartmariadb注意:安装完成MariaDB,需要先启动MariaDB。2. 停止MariaDB服务。[root@localhost~]#systemctlstopmariadb3. 重启MariaDB服务。[root@localhost~]#systemctlrestartmariadb项目实施二、启动与停止MariaDB数据库4. 查看MariaDB服务状态。[root@localhost~]#systemctlstatusmariadb5. 设置MariaDB服务开机启动。[root@localhost~]#systemctlenablemariadb6. 禁止MariaDB服务开机启动。[root@localhost~]#systemctldisablemariadb项目实施三、初始化MariaDB安装并启动MariaDB数据库之后,先对其进行初始化。随后,在初始化数据库之后,在mysql目录下就会出现系统的数据库mysql和test。1. 初始化数据库。[root@localhost~]#mysql_install_db2. 查看mysql目录内容。[root@localhost~]#cd/var/lib/mysql/[root@localhostmysql]#lsaria_log.00000001aria_log_controlmysqlperformance_schematest3. 查看mysql目录的权限,确认其所有者及用户组为mysql。[root@localhost~]#ll/var/lib/|grepmysqldrwxr-xr-x.5mysqlmysql1062月121:44mysql注意:需将mysql目录所有者及用户组修改为mysql,默认就是mysql。项目实施三、初始化MariaDB4. mariadb主配置文件f。如果/etc/目录下没有f配置文件,需要在/usr/share/mysql下找到*.cnf文件。[root@localhost~]#cd/usr/share/mysql/[root@localhostmysql]#ll-rw-r--r--.1rootroot49206月52018f-rw-r--r--.1rootroot204386月52018my-innodb-heavy-4G.cnf-rw-r--r--.1rootroot49076月52018f-rw-r--r--.1rootroot49206月52018f-rw-r--r--.1rootroot28466月52018f根据实际情况选择其中一个.cnf文件到/etc/并改名为f中。[root@localhost~]#cp/usr/share/mysql/f/etc/f[root@localhost~]#vim/etc/f项目实施四、MariaDB的安全设置在已经安装好MariaDB数据库的Linux系统中,用户可以使用MariaDB二进制方式进入到MariaDB命令提示符下,连接MariaDB数据库。1. MariaDB数据库的初始登录。如果刚安装好MariaDB,超级用户root是没有密码的,故直接回车即可进入到MariaDB中了MariaDB的提示符是:MariaDB[(none)]>,MariaDB环境中的命令,后面都带一个分号作为命令结束符。格式:mysql-u用户名[root@localhost~]#mysql-urootMariaDB[(none)]>exitBye注意:exit(回车)表示退出MariaDB。项目实施四、MariaDB的安全设置2. MariaDB数据库的安全设置没有密码的数据库是不安全的,所以需要对其进行安全配置。这里有两种方法可以为root用户设置密码,第一次安装完MariaDB,执行下面的命令进行安全设置,如图15-4所示。[root@localhost~]#mysql_secure_installation3. 通过用户名密码登录MariaDB数据库。[root@localhost~]#mysql-uroot-p000000注意:u与root之间可以不用空格,但是p与密码之间不能有空格。项目实施五、MariaDB的基本操作1. mysqladmin的使用(1) 修改用户密码。格式:mysqladmin-u用户名-p旧密码password新密码将root用户的密码为111111,并使用新密码登录。[root@localhost~]#mysqladmin-uroot–p000000password111111[root@localhost~]#mysql-uroot-p111111(2) 创建一个名为xueyuan的数据库。[root@localhost~]#mysqladmin-uroot-p111111createxueyuan项目实施五、MariaDB的基本操作2. 数据库操作(1) 显示系统中的数据库列表。MariaDB[(none)]>showdatabases;初始化后显示MariaDB数据库中自带的数据库,还有刚才创建的xueyuan数据库。mysql库里面有MariaDB的系统信息,我们改密码,实际上就是用这个库中的user表进行操作。项目实施五、MariaDB的基本操作(2) 创建数据库student,并查看。MariaDB[(none)]>createdatabasestudent;MariaDB[(none)]>showdatabases;(3) 切换当前到student数据库,并显示数据库中的表。MariaDB[(none)]>usestudent;DatabasechangedMariaDB[student]>showtables;Emptyset(0.00sec)(4) 删除student数据库,并查看。MariaDB[student]>dropdatabasestudent;MariaDB[(none)]>showdatabases;项目实施五、MariaDB的基本操作3. 授权在上述命令中,使用了root用户登录到MariaDB数据库中,当然也可以使用其他用户登录,可以登录本地的MariaDB数据库也可以登录远程的MariaDB数据库服务器上,这些功能的实现都需要在管理员(root)的权限下对数据库、用户、登录主机进行授权。如果用户权限足够,任何用户都可以在MariaDB的命令提示窗口中进行SQL操作。实际应用中比较广泛的是从另一台Linux系统上直接登录提供MariaDB数据库服务器的主机。项目实施五、MariaDB的基本操作在远程主机中以管理员root身份进入,输入如下命令:mysql>grant权限列表on数据库名列表.数据库表to用户名@'登录的主机’identifiedby'用户密码';权限列表:多个权限用“,”分割,如:select,insert,update。使用allprivileges表示所有权限数据库名列表:可以使用通配符“*”表述所有数据库,如student.*表示student数据库中的所有表。登录的主机:localhost表示本地主机;%表示任意主机,支持远程登录。用户密码和登录的主机可以用英文单引号也可以用英文双引号。在远程主机上做好设置,通过如下命令连接远程的MariaDB数据库服务器:mysql-h远程主机IP-u用户名-p密码项目实施五、MariaDB的基本操作(1) 创建用户,并对该用户授权。添加用户kk,密码为“654321”,具有本地登录student数据库有全部权限。MariaDB[(none)]>createuser'kk'@'localhost'identifiedby'654321';MariaDB[(none)]>grantallprivilegesonstudent.*tokk@'localhost'identifiedby'654321';刷新系统权限表,查看kk用户的权限。MariaDB[(none)]>flushprivileges;MariaDB[(none)]>showgrantsfor'kk'@'localhost';MariaDB[(none)]>showgrantsfor'kk'@'%';(2) 以KK用户登录。[root@localhost~]#mysql-ukk-p654321MariaDB[(none)]>showdatabases;项目实施五、MariaDB的基本操作((5) 创建用户,授予部分权限。增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MariaDB。MariaDB[(none)]>grantselect,insert,update,deleteon*.*totest1@"%"Identifiedby"abc";增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库student进行查询、插入、修改、删除的操作(localhost指本地主机,即MariaDB数据库所在的那台主机)。MariaDB[(none)]>grantselect,insert,update,deleteonstudent.*totest2@localhostidentifiedby"abc";如果你不想test2有密码,可以再打一个命令将密码消掉。MariaDB[(none)]>grantselect,insert,update,deleteonstudent.*totest2@localhostidentifiedby"";项目实施五、MariaDB的基本操作4. 数据库中表操作用户可以在一个数据库中继续创建属于该库的MariaDB表,格式为:createtable表名(字段名,类型);在student数据库中,创建info(学生信息)表,表结构如15-1所示,表151Info表结构字段名 类型 长度 说明xm char 8 姓名no char 8 学号cj int 10 成绩addr text 地址切换当前数据库为student。MariaDB[(none)]>usestudent;项目实施五、MariaDB的基本操作4. 数据库中表操作用户可以在一个数据库中继续创建属于该库的MariaDB表,格式为:createtable表名(字段名,类型);在student数据库中,创建info(学生信息)表,表结构如,字段名 类型 长度 说明xm char 8 姓名no char 8 学号cj int 10 成绩addr text 地址切换当前数据库为student。MariaDB[(none)]>usestudent;项目实施五、MariaDB的基本操作(1) 创建表info。MariaDB[student]>createtableinfo(xmchar(8),nochar(8),cjint(10),addrtext);显示student数据库中的表。MariaDB[student]>showtables;+-------------------+|Tables_in_student|+-------------------+|info|+-------------------+1rowinset(0.00sec)项目实施五、MariaDB的基本操作(2) 显示info表结构。查看表的字段设置可以使用describe表名。MariaDB[student]>describeinfo;+-------+---------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+-------+---------+------+-----+---------+-------+|xm|char(8)|YES||NULL|||no|char(8)|YES||NULL|||cj|int(10)|YES||NULL|||addr|text|YES||NULL||+-------+---------+------+-----+---------+-------+4rowsinset(0.00sec)项目实施五、MariaDB的基本操作(3) 在表中插入记录。格式:insertinto表名(字段1,字段2,字段……..)values(值1,值2,值……..);如果数据是字符型,必须使用英文状态下的单引号或者双引号。向info表中插入两条记录。MariaDB[student]>insertintoinfovalues("zhangsan","20170102",98,"hangzhou");MariaDB[student]>insertintoinfovalues("lisi","20170105",94,"hainan");项目实施五、MariaDB的基本操作(4) 查看表中的记录。MariaDB数据库使用SQLSELECT语句查询数据。select字段名,字段名,……字段名from表名,表名,….[where条件]MariaDB[student]>select*frominfo;+----------+----------+------+----------+|xm|no|cj|addr|+----------+----------+------+----------+|zhangsan|20170102|98|hangzhou||lisi|20170105|94|hainan|+----------+----------+------+----------+项目实施五、MariaDB的基本操作(5) 修改表中记录。update表名set字段名1=值1,字段名2=值2….[where条件]用户可以同时更新一个字段或者多个字段,还可以在where中指定任何条件。MariaDB[student]>updateinfosetno=20180105wherexm="lisi";MariaDB[student]>select*frominfo;+----------+----------+------+----------+|xm|no|cj|addr|+----------+----------+------+----------+|zhangsan|20170102|98|hangzhou||lisi|20180105|94|hainan|+----------+----------+------+----------+2rowsinset(0.00sec)项目实施五、MariaDB的基本操作(6) 删除表中的记录。deletefrom表名[where条件]如果没有指定where子句,MariaDB表中的所有记录都将被删除。MariaDB[student]>deletefrominfowherexm="lisi";MariaDB[student]>select*frominfo;+----------+----------+------+----------+|xm|no|cj|addr|+----------+----------+------+----------+|zhangsan|20170102|98|hangzhou|+----------+----------+------+----------+1rowinset(0.00sec)项目实施五、MariaDB的基本操作(7) 删库和删表:dropdatabase库名;droptable表名;MariaDB[student]>droptableinfo;MariaDB[student]>dropdatabasestudent;MariaDB[(none)]>showdatabases;项目实施五、MariaDB的基本操作5. 备份数据库使用mysqldump将数据库备份到MariaDB服务器上,将数据库student备份到/home目录下,备份的数据库名为studentbak.sql。[root@localhost~]#mysqldumpstudent-uroot-p111111>/home/studentbak.sql6. 恢复数据库备份数据库是为了防止已有的数据库文件被损坏,原数据库被损坏后,可以用备份数据库进行恢复,其恢复的操作为先建立一个空的数据库。[root@localhost~]#mysqlstudent-uroot-p111111</home/studentbak.sql项目实施五、MariaDB的基本操作7. 其他操作(1) 显示最后一个执行的语句所产生的错误、警告和通知。MariaDB[student]>showwarnings;(2) 只显示最后一个执行语句所产生的错误。MariaDB[student]>showerrors;(3) 查看当前数据库服务的日志文件信息。MariaDB[student]>showmasterlogs;(4) 查看数据库中所有用户。MariaDB[student]>selectuser,hostfrommysql.user;其中,mysql.user指从mysql数据库的user表查询数据。项目实施六、部署WordPress博客系统WordPress是一个免费的开源项目,在GNU通用公共许可证下授权发布。它是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。由于安装方便,易于扩充功能,以及拥有丰富的插件和模板等优势,让WordPress逐渐成为世界上使用最广泛的博客系统之一。因使用者众多,所以WordPress社区非常活跃。使用WordPress可以快速搭建独立的博客网站。但WordPress不仅仅是一个博客程序,也是一款内容管理系统(CMS),很多非博客网站也是用WordPress搭建的,同时,因为Wordpress强大的扩展性,很多网站已经开始使用Wordpress作为内容管理系统来架设商业网站。项目实施六、部署WordPress博客系统1. 查看是否安装Apache软件包。[root@localhost~]#rpm-qhttpdhttpd-2.4.6-88.el7.x86_642. 查看是否安装MariaDB软件包。[root@localhost~]#rpm-qmariadbmariadb-5.5.60-1.el7_5.x86_64安装PHP软件包。[root@localhost~]#yuminstall-yphp*[root@localhost~]#rpm-qa|grepphp项目实施六、部署WordPress博客系统4. 创建php测试页面。[root@localhost~]#cd/var/www/html/[root@localhosthtml]#vimindex.php<?phpphpinfo();?>5. 启动httpd,访问PHP测试页面,如图15-10所示,表示PHP访问正常。如果在页面中能找到mysql、mysqli的信息内容,说明对php能正常访问mysql和mysqli接口。[root@localhost~]#systemctlstarthttpd6. 启动数据库服务。[root@localhost~]#systemctlstartmariadb项目实施六、部署WordPress博客系统7. 测试php与mariadb的连接性。在/var/www/html目录下创建mysql.php文件,然后访问相应的测试页面,如图15-11所示。[root@localhost~]#vim/var/www/html/mysql.php[root@localhost~]#cat/var/www/html/mysql.php<?php$conn=mysql_connect('','root','111111');if($conn)echo"Connectedtomariadb.";elseecho"Fail";?>项目实施六、部署WordPress博客系统8. 在数据库中创建wordpress数据库,并为root用户赋予远程权限。[root@localhost~]#mysql-uroot-p111111MariaDB[(none)]>createdatabasewordpress;MariaDB[(none)]>grantallprivilegeson*.*toroot@localhostidentifiedby'111111';MariaDB[(none)]>grantallprivilegeson*.*toroot@"%"identifiedby'111111';MariaDB[(none)]>showdatabases;项目实施六、部署WordPress博客系统9. 解压WordPress安装包。[root@localhost~]#cd/var/www/html/[root@localhosthtml]#lsindex.phpmysql.phpwordpress.zip[root@localhosthtml]#unzipwordpress.zip[root@localhosthtml]#lsindex.phpwordpressmysql.phpwordpress.zip10. 创建配置文件wp-config.php,如图15-12所示。[root@localhosthtml]#cdwordpress[root@localhostwordpress]#ls[root@localhostwordpress]#cpwp-config-sample.phpwp-config.php[root@localhostwordpress]#vimwp-config.php项目实施六、部署WordPress博客系统项目实施六、部署WordPress博客系统11. 进入WordPress安装界面。在浏览器中输入地址http://54/wordpress/,进WordPress安装界面,填写用户名、密码等信息,然后单击左下角“InstallWordPress”按钮,如图15-13所示。跳转至安装完成界面,如图15-14所示。图15‑14安装完成界面图15‑14安装完成界面项目实施六、部署WordPress博客系统单击“LogIn”,登录WordPress,如图15-15所示,输入安装界面设置的用户名和密码,单击“LogIn”。图15‑15登录WordPress项目实施六、部署WordPress博客系统登录后,进入WordPress应用的Dashboard界面,如图15-16所示。也就是WordPress仪表盘,它是控制和管理所有内容的引导页,wordpress默认的仪表盘页面一般有概览,快速草稿,wordpress活动及新闻等。图15‑16WordPress仪表盘项目实施六、部署WordPress博客系统单击左上角“testblog”图标,就会进入自己的博客首页,如图15-17所示,可以在这里发表文章,记录生活感悟等。图15‑17博客首页反思与进阶一、通过PHP访问MariaDB数据库项目背景:对于很多人来说,通过数据库查看相关数据不够方便,也不够人性化,通过PHP技术将数据库中存储的信息显示出来已经成为一种趋势。IT协会希望通过PHP页面将student数据库中的数据显示出来,方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论