linux系统学习第八天-<<工程师技术>>

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

两台虚拟机,均修改防火器与主机名

虚拟机server0:
# firewall-cmd --set-default-zone=trusted
# echo server0.example.com  >  /etc/hostname
# cat /etc/hostname

虚拟机desktop0:
# firewall-cmd --set-default-zone=trusted
# echo desktop0.example.com  >  /etc/hostname
# cat /etc/hostname

• 电子邮件服务器的基本功能
    – 为用户提供电子邮箱存储空间(用户名@邮件域名)
    – 处理用户发出的邮件 —— 传递给收件服务器
    – 处理用户收到的邮件 —— 投递到邮箱

      用户发邮件的协议:  SMTP  端口25
      用户收邮件的协议:  pop3  端口110    IMAP 端口143        
   
######################################################
虚拟机server0
搭建基本邮件服务器
1. 安装postfix服务端程序
[root@server0 ~]# rpm -q postfix
postfix-2.10.1-6.el7.x86_64

2.配置postfix服务,修改配置文件
[root@server0 ~]# vim /etc/postfix/main.cf
 76行   myhostname = server0.example.com     #指定主机名
 83行   mydomain = example.com               #指定域名
 99行   myorigin = server0.example.com    #默认补全的邮件后缀
 116行 inet_interfaces = all             #允许所有客户端
 164行 mydestination = server0.example.com
                                                                #判断邮件后缀为本域邮件
   补充:vim  命令模式      u 撤销

3.重起postfix服务,设置为开机自起
# systemctl restart postfix                       
# systemctl enable  postfix  

4. 测试邮件的收发

[root@server0 ~]# useradd yg
[root@server0 ~]# echo 123 | passwd --stdin yg

[root@server0 ~]# useradd xln
[root@server0 ~]# echo 123 | passwd --stdin xln

• mail 发信操作
    – mail -s '邮件标题'   -r 发件人    收件人

• mail 收信操作
    – mail [-u 用户名]

[root@server0 ~]# mail -s 'test01' -r yg   xln

  一行中只有一个  “.”    的时候,代表结束
 
[root@server0 ~]# mail -u xln
  输入 邮件编号 1 查看邮件内容
  quit 退出
#################################################  

nullclient邮件服务

空客户端
• nullclient,空客户端
    – 不提供任何邮箱账号,因此不需要投递邮件
    – 但是可以为用户代发邮件


一、配置desktop0为邮件服务器
1.配置postfix服务,修改配置文件
[root@desktop0 ~]# vim /etc/postfix/main.cf

 99行    myorigin = desktop0.example.com   
 116行  inet_interfaces = all           
 164行  mydestination = desktop0.example.com

[root@desktop0 ~]# systemctl restart postfix
[root@desktop0 ~]# systemctl enable postfix

二、配置server0为空客户端邮件服务器
[root@server0 ~]# vim /etc/postfix/main.cf

  99行     myorigin = desktop0.example.com
  116行   inet_interfaces = localhost
  164行   mydestination =
  317行   relayhost = [172.25.0.10]   #指定交给邮件服务器IP地址
   
[root@server0 ~]# systemctl restart postfix

三、测试
虚拟机server0上
# echo   abc   |   mail -s Test1 -r  yg   student

虚拟机desktop0上
# mail -u student
######################################################
 数据库服务基础

• 常见的关系型 数据库管理系统
– 微软的 SQL Server
– IBM的 DB2
– 甲骨文的 Oracle、MySQL
– 社区开源版 MariaDB


• RHEL7 中的 MariaDB 相关包
    – mariadb-server:提供服务端有关的系统程序
               端口号 : 3306


一、部署mariadb数据库
1.安装mariadb-server数据库软件
[root@server0 ~]# yum -y install mariadb-server

2.启动mariadb服务
[root@server0 ~]# systemctl restart mariadb
[root@server0 ~]# systemctl enable mariadb


##################################################

[root@server0 ~]# mysql

MariaDB [(none)]> show databases;           #查看数据库
MariaDB [(none)]> create database nsd1709;  #创建数据库
MariaDB [(none)]> show databases;         

MariaDB [(none)]> drop database nsd1709;    #删除数据库
MariaDB [(none)]> show databases;

MariaDB [(none)]> create database nsd;   
MariaDB [(none)]> show databases;

MariaDB [(none)]> quit                     #退出数据库

###################################################

      数据库管理员为root,但与系统用户root没有关系

• 为数据库账号修改密码
– mysqladmin [-u用户名] [-p[旧密码]] password '新密码'

[root@server0 ~]# mysqladmin -u  root   password  '123'

[root@server0 ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@server0 ~]# mysql  -u  root  -p
Enter password:

[root@server0 ~]# mysql -u root -p123      #免交互登陆


• 禁止监听,只服务于本机
[root@server0 ~]# vim /etc/my.cnf   #数据库主配置文件
[mysqld]
skip-networking         #跳过网络监听
......
[root@server0 ~]# systemctl restart mariadb

• MariaDB [(none)]> 交互指令
– 列出数据库:show databases;
– 使用/选择数据库:use 数据库名;
– 列出库里有哪些表:show tables;
– 创建数据库:CREATE database 数据库名;
– 删除数据库:DROP database 数据库名;

 

http://172.25.254.254/pub/materials/users.sql

• 导入/恢复到数据库
– mysql [-u用户名] [-p[密码]] 数据库名  <  备份文件.sql

# wget http://172.25.254.254/pub/materials/users.sql
# mysql -u root -p123 nsd < users.sql

# mysql -u root -p123

MariaDB [nsd]> use nsd;          #进入nsd库
MariaDB [nsd]> show tables;      #查看都有那些表格


######################################################

 查询操作
# mysql -u root -p123
MariaDB [nsd]> use nsd;

MariaDB [nsd]> select * from base;
MariaDB [nsd]> select * from location;

MariaDB [nsd]> select id,name from base;

MariaDB [nsd]> select * from base where name='tom';

MariaDB [nsd]> select * from location where city='beijing';

#######################################################
  数据库授权

MariaDB [(none)]> 交互指令
– grant 权限列表  on  数据库名.表名   to  用户名@localhost
  identified by '密码';

   当lisi用户从本地localhost登陆,输入密码123,将会获得库nsd所有表的查询权限

# mysql -u root -p123

MariaDB [(none)]> grant select on nsd.* to lisi@localhost identified by '123';

查看MariaDB数据库中,用户表信息

MariaDB [mysql]> select user,password from mysql.user;

#####################################################
案例5:使用数据库查询

2. 在系统 server0 上使用数据库 nsd,并使用相
应的 SQL 查询以回答下列问题:

1) 密码是 solicitous 的人的名字?

> select * from nsd.base where password='solicitous';
> select * from nsd.base where password='solicitous' and  id='3';

> select * from nsd.base where name='Barbara' or  id='3';

2) 有多少人的姓名是 Barbara 同时居住在 Sunnyvale?

> use nsd;

> select * from base,location
where base.name='Barbara' and location.city='Sunnyvale'   and  base.id=location.id;

> select count(*) from base,location    
where base.name='Barbara' and location.city='Sunnyvale' and  base.id=location.id;

> insert base values(6,'Barbara',123456);  #插入表记录
> insert location values(6,'Sunnyvale');   #插入表记录
> select * from base;
> select * from location;

 

1. 禁止空密码root用户访问 mariadb 数据库

> use mysql;

> select user,host,password from user where password=''and user='root';

> delete from user where password='' and user='root';

> select user,host,password from user ;

> desc  user;   #查看表结构


      本文转自云计算王森 51CTO博客,原文链接:http://blog.51cto.com/13426941/2045245,如需转载请自行联系原作者



目录
打赏
0
0
0
0
348
分享
相关文章
Linux系统之su命令的基本使用
Linux系统之su命令的基本使用
32 1
Linux系统之su命令的基本使用
|
18天前
|
Linux系统资源管理:多角度查看内存使用情况。
要知道,透过内存管理的窗口,我们可以洞察到Linux系统运行的真实身姿,如同解剖学家透过微观镜,洞察生命的奥秘。记住,不要惧怕那些高深的命令和参数,他们只是你掌握系统"魔法棒"的钥匙,熟练掌握后,你就可以骄傲地说:Linux,我来了!
96 27
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
135 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
21天前
|
Linux系统ext4磁盘扩容实践指南
这个过程就像是给你的房子建一个新的储物间。你需要先找到空地(创建新的分区),然后建造储物间(格式化为ext4文件系统),最后将储物间添加到你的房子中(将新的分区添加到文件系统中)。完成这些步骤后,你就有了一个更大的储物空间。
91 10
|
2月前
|
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
119 24
Linux系统之whereis命令的基本使用
|
1月前
|
Linux系统中如何查看CPU信息
本文介绍了查看CPU核心信息的方法,包括使用`lscpu`命令和读取`/proc/cpuinfo`文件。`lscpu`能快速提供逻辑CPU数量、物理核心数、插槽数等基本信息;而`/proc/cpuinfo`则包含更详细的配置数据,如核心ID和处理器编号。此外,还介绍了如何通过`lscpu`和`dmidecode`命令获取CPU型号、制造商及序列号,并解释了CPU频率与缓存大小的相关信息。最后,详细解析了`lscpu`命令输出的各项参数含义,帮助用户更好地理解CPU的具体配置。
110 8
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
|
4月前
|
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
355 78
|
23天前
|
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
60 0
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
237 23
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等