天天看點

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,如需轉載請自行聯系原作者