系统:vmare 搭的linux的虚拟机,centos7

安装之前先配置防火墙,主要能让windows系统能够访问80和数据库3306端口。

# 注意,下面命令适用于centos7以下,不含centos7

vi /etc/sysconfig/iptables # 编辑防火墙配置文件
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT # 允许80端口通过防火墙
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT # 允许3306端口通过防火墙
  •  

Centos7的设置请点这里

Linux安装

安装过程太长就不一一写了,可以参考这个Vmware 装Linux教程

安装Nginx

使用yum安装Nginx

yum install nginx
  •  

启动Nginx服务

service nginx start
  •  

没开成功,出现了下面的一段文本

service nginx start无法开启

搜了一下,说版本太新,提示命令已经换了。好,那就输入下面的命令

/bin/systemctl start nginx.service
# 更简洁的写法
systemctl start nginx.service
  •  

结果什么都没有返回,那怎么验证nginx服务是否有开启?

ps -ef | grep nginx # 有返回的话表示已经开启了
  •  

设置开机自启

chkconfig nginx on
  •  

返回了一串提示,猜测应该是版本太新,命令又换了。

chkconfig nginx on

按照提示,输入。systemctl 相关命令

systemctl enable nginx.service
  •  

OK,还是什么都没有返回,看来linux的尿性应该是成功执行一般不会有东西返回的

systemctl is-enabled nginx.service # 验证是否开启,有开启会显示enabled
  •  

测试访问

在浏览器输入linux的ip地址,如果出现下面的内容,表示nginx搭建OK了。

welcome to nginx

centos7设置防火墙端口

然而过程并没有那么顺利,再得到welcome页前,我是打不开页面的 
找了下度娘,果不其然,又是和版本有关,centos的防火墙改成了firewall不再叫iptables 查看原文

键入下面命令

firewall-cmd --zone=public --add-port=80/tcp --permanent
# 命令含义:
# –zone #作用域
# –add-port=80/tcp #添加端口,格式为:端口/通讯协议
# –permanent #永久生效,没有此参数重启后失效
  •  

然后重启防火墙,再访问一下地址就能看到welcome to nginx

systemctl stop firewalld.service
systemctl start firewalld.service

安装Mysql

接着再按照教程安装mysql,显然只要把其中的旧命令换成新命令就能安装mysql了。 
照着这个思路,结果又踩坑了。。。道路真是坎坷


首先跑了下面的命令

yum install mysql mysql-server
  •  

第一次安装过程很正常,还看到了complete(可能我看了一个假的complete)。

然后接下来的启动服务、设置开机自启等操作都是返回not found(差不多这个意思,就是没找到)

再查看mysql的相关进程却是有的,而且which mysql也有返回目录

会不会是名字的原因?于是折腾之前操作中mysql服务的名字,比如下面的命令

/bin/systemctl start mysqld.service
/bin/systemctl start mysql-server.service
/bin/systemctl start mysql.service
...
  •  

结果肯定是掉坑里了,多次尝试均为安装成功,结果百度发现这个:

CentOS 6 或早期的版本中提供的是 MySQL 的服务器/客户端安装包,但 CentOS 7 已使用了 MariaDB 替代了默认的 MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

好吧,那我我就装mariadb.   参考:https://www.cnblogs.com/river2005/p/6813618.html

MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;

1.使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:

如果存在,使用rpm -e --nodeps mariadb-*全部删除:

[root@localhost ~]# rpm -qa | grep mariadb
mariadb-server-5.5.52-1.el7.x86_64
mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost ~]# rpm -e mysql-*
错误:未安装软件包 mysql-* 

 

2.使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:

如果存在,使用yum remove mysql mysql-server mysql-libs compat-mysql51全部删除;

[root@localhost ~]# yum remove mysql mysql-server mysql-libs compat-mysql51
已加载插件:fastestmirror, langpacks
参数 mysql 没有匹配
参数 mysql-server 没有匹配
参数 compat-mysql51 没有匹配
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb-libs.x86_64.1.5.5.52-1.el7 将被 删除
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 perl-DBD-MySQL-4.023-5.el7.x86_64 需要
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 2:postfix-2.10.1-6.el7.x86_64 需要
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 1:qt-mysql-4.8.5-13.el7.x86_64 需要..........

 

删除:
  mariadb-libs.x86_64 1:5.5.52-1.el7                                            

作为依赖被删除:
  akonadi-mysql.x86_64 0:1.9.2-4.el7     mariadb-server.x86_64 1:5.5.52-1.el7   
  perl-DBD-MySQL.x86_64 0:4.023-5.el7    postfix.x86_64 2:2.10.1-6.el7          
  qt-mysql.x86_64 1:4.8.5-13.el7        

完毕!
[root@localhost ~]# rpm -qa|grep mariadb
[root@localhost ~]#

 

3.开始新的安装, 创建MariaDB.repo文件

vi /etc/yum.repos.d/MariaDB.repo

插入以下内容:

# MariaDB 10.2.4 CentOS repository list - created 2017-05-05 16:13 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

系统及版本选择:https://downloads.mariadb.org/mariadb/repositories/#mirror=tuna

4.运行安装命令安装MariaDB

[root@localhost ~]# yum -y install MariaDB-server MariaDB-client
已加载插件:fastestmirror, langpacks
mariadb                                                  | 2.9 kB     00:00     
mariadb/primary_db                                         |  18 kB   00:09     
Determining fastest mirrors
 * base: mirrors.btte.net
 * extras: mirrors.zju.edu.cn
 * updates: mirrors.zju.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 MariaDB-client.x86_64.0.10.2.4-1.el7.centos 将被 安装
--> 正在处理依赖关系 MariaDB-common,它被软件包 MariaDB-client-10.2.4-1.el7.centos.x86_64 需要
---> 软件包 MariaDB-server.x86_64.0.10.2.4-1.el7.centos 将被 安装
--> 正在处理依赖关系 galera,它被软件包 MariaDB-server-10.2.4-1.el7.centos.x86_64 需要
--> 正在处理依赖关系 libjemalloc.so.1()(64bit),它被软件包 MariaDB-server-10.2.4-1.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 MariaDB-common.x86_64.0.10.2.4-1.el7.centos 将被 安装
--> 正在处理依赖关系 MariaDB-compat,它被软件包 MariaDB-common-10.2.4-1.el7.centos.x86_64 需要
---> 软件包 galera.x86_64.0.25.3.19-1.rhel7.el7.centos 将被 安装
---> 软件包 jemalloc.x86_64.0.3.6.0-1.el7 将被 安装
--> 正在检查事务
---> 软件包 MariaDB-compat.x86_64.0.10.2.4-1.el7.centos 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================
 Package            架构       版本                           源           大小
================================================================================
正在安装:
 MariaDB-client     x86_64     10.2.4-1.el7.centos            mariadb      48 M
 MariaDB-server     x86_64     10.2.4-1.el7.centos            mariadb     113 M
为依赖而安装:
 MariaDB-common     x86_64     10.2.4-1.el7.centos            mariadb     104 k
 MariaDB-compat     x86_64     10.2.4-1.el7.centos            mariadb     2.8 M
 galera             x86_64     25.3.19-1.rhel7.el7.centos     mariadb     8.0 M
 jemalloc           x86_64     3.6.0-1.el7                    mariadb     104 k

事务概要
================================================================================
安装  2 软件包 (+4 依赖软件包)
....

 

首先下载安装包,然后进行自动安装,安装成功之后启动MariaDB服务。

systemctl start mariadb #启动服务
systemctl enable mariadb #设置开机启动
systemctl restart mariadb #重新启动
systemctl stop mariadb.service #停止MariaDB

5.登录到数据库

  用mysql -uroot命令登录到MariaDB,此时root账户的密码为空。

6.进行MariaDB的相关简单配置,使用mysql_secure_installation命令进行配置。

mysql_secure_installation

 

 首先是设置密码,会提示先输入密码

Enter current password for root (enter for none):<–初次运行直接回车

设置密码

Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码

其他配置

Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

Disallow root login remotely? [Y/n] <–是否禁止root远程登录,N,回车(和远程连接有关)

Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车

Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

初始化MariaDB完成,接下来测试登录

mysql -uroot -ppassword

完成。

 不过用natival 还是无法连接?参考:https://www.cnblogs.com/blogforly/p/5997553.html

然后在虚拟机中查看网络端口信息:

  #netstat -ntpl

  

 

  之后查看了防火墙的状态,发现3306端口的数据包都是丢弃状态

  #iptables -vnL

  

  

  这里要清除防火墙中链中的规则

  #iptables -F

     再次连接,竟然连上了,一头懵逼。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐