天天看点

Day08 电子邮件基础&数据库基础(Enginner02)一、电子邮件基础二、数据库服务基础

为用户提供电子邮箱存储空间

处理用户发出的邮件—传递给收件服务器

处理用户收到的邮件—投递到邮箱

SMTP:25/tcp

POP3:110/tcp

IMAP:143/tcp

yum -y install postfix

rpm -qa| grep postfix

postfix的主配置文件,特点是从上到下,后设置的选项会覆盖之前设置的选项,即后应用的生效

vim /etc/postfix/main.cf

到76行,把#删掉,修改myhostname = server0.example.com #指定主机名

到83行,把#删掉,修改mydomain = example.com #指定域名

到99行,把#删掉,修改myorigin = server0.example.com #向外发邮件时标记的来源域

到116行,把#删掉,修改inet_interfaces = loopback-only#仅允许本机

到164行,把#删掉,修改mydestination = server0.example.com #根据邮件后缀来判断是否为本域邮件,名字为server0.example.com就是本域

myhostname = server0.example.com

mydomain = example.com

myorigin = server0.example.com

inet_interfaces = loopback-only

mydestination = server0.example.com

重启并设置开机启动postfix

useradd yg

echo 123|passwd --stdin yg

useradd xln

echo 123|passwd --stdin xln

id yg

id xln

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/"></a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">mail -u [username] 例子:xln查看yg发来的邮件 mail -u xln #回车进入交互式界面 Heirloom Mail version 12.5 7/5/10. Type ? for help. "/var/mail/xln": 1 message 1 new</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">N 1 [email protected] Thu Nov 2 11:26 20/604 "test01" &amp; 1 #N表示新邮件,1表示邮件编号为1 Message 1: #输入1选择第一封邮件 From [email protected] Thu Nov 2 11:26:52 2017 Return-Path: &lt;[email protected]&gt; X-Original-To: xln Delivered-To: [email protected] Date: Thu, 02 Nov 2017 11:26:52 +0800 From: [email protected] To: [email protected] Subject: test01 User-Agent: Heirloom mailx 12.5 7/5/10 Content-Type: text/plain; charset=us-ascii Status: R</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">Hi xln long time no see how are you</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">&amp; delete 1-10 #删除1~10封邮件</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">空客户端邮件服务器。本身没有任何邮箱帐号,不需要投递任何邮件。但是可以为用户代发邮件</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在企业内网的内部系统中,当web、ftp等服务器连接外网的速度较慢,或者无法访问外网。当服务器出现异常时,为了能快速的发出报警邮件,可以直接联系邮件空客户端,以最快的速度把邮件发给运维人员,以便运维人员及时处理。 但由于监控服务器的盛行,现在很少使用空客户端方式了</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在desktop0上操作: 两种方法: 方法1:通过脚本lab smtp-nullclient setup自动设置,实质上修改和添加了这些行 修改部分: inet_interfaces = all 添加部分: mynetworks = 172.25.0.0/24 smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_tls_security_level = may smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem smtpd_tls_key_file = /etc/pki/tls/private/postfix.pem</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">方法2:手动修改配置文件 vim /etc/postfix/main.cf 到99行,把#删掉,修改myorigin = desktop0.example.com #默认补全的邮件后缀 到116行,把#删掉,修改inet_interfaces = all #允许所有客户端 到164行,把#删掉,修改mydestination = desktop0.example.com #投递域的域名,名字为desktop0.example.com就是本域 mynetworks = 172.25.0.0/24 myorigin = desktop0.example.com mydestination = desktop0.example.com inet_interfaces = all</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在server0上操作: vim /etc/postfix/main.cf 到99行,把#删掉,修改myorigin = desktop0.example.com #向外发邮件时标记的来源域 到116行,把#删掉,修改inet_interfaces = loopback-only #仅允许本机 到164行,把#删掉,修改mydestination = #设置为空表示没有投递域 到264行,把#删掉,修改mynetworks = 127.0.0.0/8 [::1]/128 到317行,把#删掉,修改relayhost = 172.25.0.10 #指定后端(目标)邮件服务器 重启服务 systemctl restart postfix systemctl enable postfix inet_interfaces = loopback-only mydestination = mynetworks = 127.0.0.0/8 [::1]/128 relayhost = [smtp0.example.com]</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在server0上写一封邮件给student,此时在server0上无法收到邮件,邮件会转到desktop0上去</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">编号 姓名 手机号 住址 1 zs 1111111111 上海 2 ls 2222222222 北京 3 ww 3333333333 广州 黑色区域:表字段 其他区域:表记录</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">安装mariadb-server(服务端)和mariadb(客户端及工具)</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">由MySQL的开发者开发出来的开源数据库系统 端口号 3306/tcp 不支持tab键 所有命令必须以;结尾</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">show databases;#显示所有数据库 create database nsd1709;#创建数据库nsd1709 drop databases nsd1709;#删除数据库nsd1709 status;#查看状态 quit;#退出 \c 命令输入错误后结束命令行  '; 命令输入错误后结束命令行 "; 命令输入错误后结束命令行 \G;让查询的结果竖着显示</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">注意!数据库管理员是root,但是与系统的root用户没有任何关系 在linux系统里执行 mysqladmin -u root password ‘123' #设置数据库管理员root的密码为123 修改密码后,必须通过mysql -uroot -p123登陆数据库,但是这个命令会显示密码,极其不安全。必须以交互式登陆 mysql -uroot -p Enter password:</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在linux系统里执行 systemctl stop mariadb mysqld_safe --skip-grant-tables &amp; #跳过检查授权表启动 [1] 25828 [root@room4pc09 mysql]# 170925 14:46:03 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'. 170925 14:46:03 mysqld_safe A mysqld process already exists mysql -h127.0.0.1 -uroot -p SET password for 'root'@'localhost'=password('newpassword'); exit kill -9 25828 systemctl start mariadb</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在数据库里执行 use mysql; UPDATE user SET password=password('newpassword') WHERE user='root'; flush privileges; exit</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在数据库里执行 SET password for 'root'@'localhost'=password('newpassword'); systemctl start mariadb</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">vim /etc/my.cnf 在mysqld下面另起一行,输入下面的语句 skip-networking #跳过网络监听,只对本机提供服务</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">表和表之间用”,” 库和表之间用”.”</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">显示所有的数据库</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">选择并打开nsd数据库</a>

<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">查看数据库里面的表</a>

mysql -uroot -p nsd &lt; users.sql

mysql -uroot -p

MariaDB [nsd]&gt; use nsd;

MariaDB [nsd]&gt; show tables;

+---------------+

| Tables_in_nsd |

| base |

| location |

命令格式:select 表字段 from 数据库名.表格名;

查询nsd数据库的base表的所有表字段信息

MariaDB [nsd]&gt; select * from nsd.base;

+------+---------+------------+

| id | name | password |

| 1 | Tom | 123 |

| 2 | Barbara | 456 |

| 3 | James | solicitous |

| 4 | Smith | tarena |

| 5 | Barbara | pwd123 |

5 rows in set (0.00 sec)

查询name为tom的用户

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

+------+------+----------+

1 row in set (0.00 sec)

查询密码为solicitous而且id=3的表记录

查询名字为Barbara或者id=3的表记录

查找住在Sunnyvale的名字叫Barbara的人数

命令格式:grant 权限列表 on 数据库名.表名 to 用户名@localhost identified by ‘密码'

insert:增加

delete:删除

update:修改

select:查询

grant select on nsd.* to lisi@localhost identified by '456' #lisi用户在本地登录后拥有对nsd库的所有表的查询权限

select user,password from mysql.user where user='lisi';

增加一条表记录,id=6,name=Barbara,密码=123456

增加一条表记录,id=6,city=Barbara

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

删除用户名为root,并且密码为空的记录

desc nsd.base;

本文转自 goldwinner 51CTO博客,原文链接:http://blog.51cto.com/355665/2068709,如需转载请自行联系原作者