達內-linux基礎-day08-郵件服務器和數據庫服務基礎
阿新 • • 發佈:2017-11-04
達內-linux基礎-day08-郵件服務器和數據庫服務基礎
電子郵件服務器的基本功能
– 為用戶提供電子郵箱存儲空間(用戶名@郵件域名)
– 處理用戶發出的郵件 —— 傳遞給收件服務器
– 處理用戶收到的郵件 —— 投遞到郵箱
用戶發郵件的協議: SMTP 端口25
用戶收郵件的協議: pop3 端口110 IMAP 端口143
############################################################################################
虛擬機server0:
搭建基本的郵件服務器
一.安裝postfix服務端程序:
#yum -y install postfix //安裝postfix服務端程序
#rpm -q postfix //查看是否安裝成功
二.配置postfix服務,修改配置文件
#vim /etc/postfix/main.cf //配置文件的路徑
myhostname = server0.example.com //配置主機名
mydomain = example.com //指定域名
myorigin = server0.example.com //發件人地址域 默認自動補全的後綴
inet_interfaces = all //允許所有客戶端
mydestination = server0.example.com //判斷郵件後綴是否為本域郵件
三.重起postfix服務,設置為開機自起
# systemctl restart postfix
# systemctl enable postfix
四.測試
郵件的收發:
虛擬機server0:
#useradd yg
#echo 123 | passwd -- stdin yg //設置yg用戶密碼
#useradd xln
#echo 123 | passwd -- stdin xln //設置xln用戶密碼
發送郵件:
– mail -s ‘郵件標題‘ -r 發件人 收件人
#su - yg
#mail -s ‘test‘ -r yg xln //郵件主題為test 發件人yg 收件人 xln -s表示subject -r表示source
123
456
.
書寫郵件內容 當有一行只有一個.時,表示書寫完畢
接收郵件:
– mail [-u 用戶名]
#su - xln
#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; #查看表結構
################################################################################################
修改防火墻和主機名:
虛擬機server0:
firewall-cmd --set-default-zone=trusted
vim /etc/hostname
server0.example.com
虛擬機desktop0:
fireawall-cmd --set-default-zone=trusted
vim /etc/hostname
desktop0.example
###########################################################################################
電子郵件服務器的基本功能
– 為用戶提供電子郵箱存儲空間(用戶名@郵件域名)
– 處理用戶發出的郵件 —— 傳遞給收件服務器
– 處理用戶收到的郵件 —— 投遞到郵箱
用戶發郵件的協議: SMTP 端口25
用戶收郵件的協議: pop3 端口110 IMAP 端口143
############################################################################################
虛擬機server0:
搭建基本的郵件服務器
一.安裝postfix服務端程序:
#yum -y install postfix //安裝postfix服務端程序
二.配置postfix服務,修改配置文件
#vim /etc/postfix/main.cf //配置文件的路徑
myhostname = server0.example.com //配置主機名
mydomain = example.com //指定域名
myorigin = server0.example.com //發件人地址域 默認自動補全的後綴
inet_interfaces = all //允許所有客戶端
mydestination = server0.example.com //判斷郵件後綴是否為本域郵件
三.重起postfix服務,設置為開機自起
# systemctl restart postfix
# systemctl enable postfix
四.測試
郵件的收發:
虛擬機server0:
#useradd yg
#echo 123 | passwd -- stdin yg //設置yg用戶密碼
#useradd xln
#echo 123 | passwd -- stdin xln //設置xln用戶密碼
發送郵件:
– mail -s ‘郵件標題‘ -r 發件人 收件人
#su - yg
#mail -s ‘test‘ -r yg xln //郵件主題為test 發件人yg 收件人 xln -s表示subject -r表示source
123
456
.
書寫郵件內容 當有一行只有一個.時,表示書寫完畢
接收郵件:
– mail [-u 用戶名]
#su - xln
#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; #查看表結構
達內-linux基礎-day08-郵件服務器和數據庫服務基礎