。这里我们以目前最新版本CentOS7 64位系统为例进行安装(具体安装过程不在叙述,大家肯定可以的)。
首次安装, root 账号密码默认为空(当然也可以在安装过程中设置),但本人经常忘记密码,所以难免有要重置密码的时候。
重启系统,开机过程中,出现下图画面时,通过快速按下↑和↓来暂停引导程序(对手速自信的同学请无视),如图:
将光标一直移动到 LANG=en_US.UTF-8 后面,空格,再追加init=/bin/sh。这里特别注意,需要写在UTF-8后,保持在同一行,并注意空格。由于屏幕太小,会自动添加换行,这个是正常的。如图:
ZONE=publicfirewalld zone=piblic(公共):在公共区域内使用,不能相信网络内其他计算机不会对你造成危害,只能接受经过选取的连接。
出现以下信息,说明可以正常访问互联网了(至于上图为什么画风变了,额,这个纯属个人喜好,小伙伴可以自己选择喜欢的终端工具以及主题配色)
SElinux(Security-Enhanced Linux) 是美国局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。
SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。
但是,很多服务都有SELinux的限制,比如常见的/tmp文件夹无访问权限,改起来颇为麻烦,个人使用还是关闭SELinux,省心。
在centos7时代防火墙已由iptable转向firewalld,既然本文讲的是centos7,那么我们就直接接受并适应它。?
systemd 是一个 Linux 系统基础组件的集合,提供了一个系统和服务管理器,运行为 PID 1 并负责启动程序。功能包括:支持并行化任务;同时采用 socket 式与 D-Bus 总线式激活服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快照和系统恢复;维护挂载点和自动挂载点;各服务间基于依赖关系进行精密控制。systemd 支持 SysV 和 LSB 初始脚本,可以替代 sysvinit。除此之外,功能还包括日志进程、控制基础系统配置,维护登陆用户列表以及系统账户、运行时目录和设置,可以运行容器和虚拟机,可以简单的管理网络配置、网络时间同步、日志转发和名称解析等。
简单说就是:systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。在系统服务管理中推荐使用systemctl来管理。
linux下软件安装方式有很多,比如RMP、YUM、源代码安装等。其中CentOS 内置的yum命令安装非常的简单实用,能自动帮助我们解决依赖,在此推荐yum方式安装软件应用,但CentOS 最小化安装后,内置的yum源可用的软件偏少或者版本过低,通常我们需要使用一些第三方的yum源,这里向大家推荐两个比较常用和权威的yum源,EPEL和REMI。
由于现在安装 REMI源的时候会自动安装EPEL作为依赖包。所以我们只需要直接安装REMI即可:yum install
我们先执行命令:yum makecache把服务器的包信息下载到本地电脑缓存起来,以提高搜索 、安装软件的速度,如图:
CentOS 6 或早期的版本中提供的是 MySQL 的服务器/客户端安装包,但 CentOS 7 已使用了 MariaDB 替代了默认的 MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
rpm -qf /usr/sbin/httpd :查看某个文件属于哪个软件包,可以是普通文件或可执行文件,跟文件的绝对路径
但是从2012年11月12日发布的mariadb10.0.0开始,不在依照MySQL的版本号,10.0.x版本是以5.5版为基础,加入移植自MySQL5.6版的新功能和自行开发的新功能。
所以,为了更好的兼容已有MySQL(5.6以前)版本,这里我们不安装最新版marisdb10,而是选择5.5版本。
character_set_client: 代表客户端字符集,客户端最简单的来说,就是指命令行,或者操作数据库的网页,应用等等,客户端字符集就代表了用户输入的字符,用什么字符集来编码。
character_set_connectiON: 代表与服务器连接层的字符集,mysql是连接mysqld服务器的客户端,两者连接层,采用的字符集。
character_set_system: 系统元数据(字段名等)字符集,比如我们输入的命令insert …这些语句字符串采用的字符集。
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。
phpMyAdmin 的默认安装目录是 /usr/share/phpMyAdmin,同时会在 Apache 的配置文件目录中自动创建虚拟主机配置文件f(区分大小写)。默认情况下,CentOS 7上的phpMyAdmin只允许从回环地址(127.0.0.1)访问。为了能远程连接,你需要改动它的配置。
是一个完整镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
MongoDB默认是不开启权限认证的,但自从上次MongoDB爆发了赎金门事件,还是很有开启MongoDB的权限认证的必要。
重启数据库后,再次进入数据库进行插入等操作,就会提示错误了。这说明权限认证生效了,未认证通过的用户再也不能使用数据库了(即使能进mongo shell)。
MongoDB的开发者早已经想到了这一步。MongoDB自带一个数据库叫admin,这个数据库用来管理所有数据库的,类似于MySQL的mysql数据库。如果这个数据库的管理员账户还没有建立,那么任何人都可以在admin数据库里面新建管理员账户。
createUser方法必须传入一个有user(用户名)、pwd(密码),roles(角色)三个属性的JSON对象。不同roles拥有不同权限,比如:数据库读、数据库写、数据库用户管理等等,其中角色userAdminAnyDatabase 可以看做是“超级管理员”,我们建立该角色的用户后,就可以用这个用户来管理其他用户了。
readWrite: 包含了所有read权限,以及修改所有非系统集合的和系统集合中的system.js的权限。
userAdmin:为当前用户创建、修改用户和角色。拥有userAdmin权限的用户可以将该数据库的任意权限赋予任意的用户。
admin数据库包含了下面的角色,用户管理整个系统,而非单个数据库。这些权限包含了复制集和共享集群的管理函数。
clusterManager:提供了集群和复制集管理和监控操作。拥有该权限的用户可以操作config和local数据库(即分片和复制功能)。
备份恢复权限:admin数据库中包含了备份恢复数据的角色。包括backup、restore等等。
readAnyDatabase:具有read每一个数据库权限。但是不包括应用到集群中的数据库。
dbAdminAnyDatabase:提供了dbAdmin每一个数据库权。