用戶受權控制、數據庫遠程維護、綜合應用案例

案例1:受權數據庫用戶
案例2:查看及撤銷受權
案例3:重置數據庫管理密碼
案例4:遠程維護數據庫
案例5:企業OA系統部署
案例6:企業OA系統遷移

1 案例1:受權數據庫用戶
1.1 問題php

本例要求掌握MariaDB數據庫中用戶帳號的受權操做,完成下列任務:mysql

1)爲OA系統創建專庫 oadb,並受權用戶web

容許用戶 runoa 從本機訪問,對庫 oadb 有所有權限
訪問密碼爲 pwd@123
測試用戶runoa的數據庫訪問權限

2)新建名爲tarzan的管理員sql

容許從任何客戶機('%')訪問,對全部庫有所有權限
訪問密碼爲 tedu.cn1234
測試用戶tarzan的數據庫訪問權限

1.2 步驟數據庫

實現此案例須要按照以下步驟進行。apache

步驟一:爲OA系統創建專庫 oadb,並受權用戶vim

1)建立數據庫oadb瀏覽器

MariaDB [(none)]> CREATE  DATABASE  oadb;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>

2)受權用戶 runoa 從本機訪問,對庫 oadb 有所有權限,訪問密碼爲 pwd@123安全

MariaDB [(none)]> GRANT  all  ON  oadb.*   TO  runoa@localhost  IDENTIFIED  BY  'pwd@123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>

3)測試runoa的數據庫訪問權限服務器

另開一個命令行終端,以runoa用戶鏈接本機數據庫,測試刪除及重建oadb庫。

[root@zbx ~]# mysql  -urunoa  -ppwd@123
.. ..
MariaDB [(none)]> DROP  DATABASE  oadb;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> CREATE  DATABASE  oadb;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> QUIT;
Bye
[root@zbx ~]#

步驟二:新建名爲tarzan的管理員

1)增長管理員用戶

容許從其餘任何客戶機('%')訪問,對全部庫有所有權限,訪問密碼爲 tedu.cn1234。

管理員用戶有權限經過GRANT受權用戶。

MariaDB [(none)]> GRANT  all  ON  *.*  to  tarzan@'%'  IDENTIFIED  BY  'tedu.cn1234'  WITH  GRANT  OPTION;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>

2)以新管理員用戶鏈接,測試數據庫訪問權限

使用mysql命令鏈接其餘主機的數據庫時,須要添加 –h主機地址 選項,好比從客戶機svr8上訪問位於192.168.10.7的MariaDB數據庫。

[root@svr8 ~]# mysql  -utarzan  -ptedu.cn1234  -h192.168.10.7
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2797
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

測試新建數據庫zhdb:

MariaDB [(none)]> CREATE  DATABASE  zhdb;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>

測試受權數據庫用戶zhwuji:

MariaDB [(none)]> GRANT  all  ON zhdb.*  TO  zhwuji@localhost  IDENTIFIED  BY  'pwd@123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>

退出:

MariaDB [(none)]> QUIT;
Bye
[root@zbx ~]#

2 案例2:查看及撤銷受權
2.1 問題

本例要求學會在MariaDB數據庫中查看及撤銷指定用戶的受權,完成下列任務:

1)查看用戶tarzan訪問本機數據庫的權限

2)撤銷用戶tarzan從任何客戶機來訪對全部庫的全部權限

3)再次查看用戶tarzan訪問本機數據庫的權限
2.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:查看用戶tarzan訪問本機數據庫的權限

MariaDB [(none)]> SHOW  GRANTS  FOR  tarzan@'%';
+----------------------------------------------------------------------------------------------------------------------------------+
| Grants for tarzan@%                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'tarzan'@'%' IDENTIFIED BY PASSWORD '*8AB2CB3B8352A05A9C4AB822AAF421001382BD5E' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
MariaDB [(none)]>

步驟二:撤銷用戶tarzan從任何客戶機來訪對全部庫的全部權限

MariaDB [(none)]> REVOKE  all  ON  *.*  FROM  tarzan@'%';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>

步驟三:再次查看用戶tarzan訪問本機數據庫的權限

MariaDB [(none)]> SHOW  GRANTS  FOR  tarzan@'%';
+-------------------------------------------------------------------------------------------------------------------------+
| Grants for tarzan@%                                                                                                     |
+-------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'tarzan'@'%' IDENTIFIED BY PASSWORD '*8AB2CB3B8352A05A9C4AB822AAF421001382BD5E' WITH GRANT OPTION |
+-------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
MariaDB [(none)]>

3 案例3:重置數據庫管理密碼
3.1 問題

本例要求學會重置數據庫管理密碼的基本方法,以便在忘記或沒法獲知MariaDB數據庫管理密碼的狀況下取得管理權限,完成下列任務:

1)中止mariadb服務

2)跳過受權啓動數據庫進程mysqld_safe

3)重設管理密碼

4)關閉mysqld_safe進程,正常啓動mariadb服務

5)驗證新密碼
3.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:中止mariadb服務

[root@svr7 ~]# systemctl  stop  mariadb                      //停服務

步驟二:跳過受權啓動數據庫進程mysqld_safe

[root@svr7 ~]# mysqld_safe  --skip-grant-tables  &             //直起進程
[1] 105799
[root@svr7 ~]#

步驟三:重設管理密碼

1)免密碼登入數據庫

[root@svr7 ~]# mysql  -uroot                                  //免密碼登入
.. ..
MariaDB [(none)]>

2)設置新密碼

MariaDB [(none)]> UPDATE  mysql.user  SET  Password=password('pwd@123')  WHERE  User='root'  AND  Host='localhost';                             //設置新密碼
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0
MariaDB [(none)]> FLUSH  PRIVILEGES;                         //刷新受權
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>

3)退出鏈接

MariaDB [(none)]> QUIT                                     //退出
Bye

步驟四:關閉mysqld_safe進程,正常啓動mariadb服務

1)關閉mysqld_safe進程

[root@svr7 ~]# pkill  -9  mysqld_safe                          //強關mysqld_safe
[1]+  已殺死               mysqld_safe --skip-grant-tables

2)正常啓動mariadb服務

[root@svr7 ~]# systemctl  restart  mariadb                     //起正常服務

步驟五:驗證新密碼

[root@svr7 ~]# mysql  -uroot  -ppwd@123                      //驗證新密碼登入
.. ..
MariaDB [(none)]> QUIT
Bye
[root@svr7 ~]#

4 案例4:遠程維護數據庫
4.1 問題

本例要求學會經過MySQL-Front圖形軟件遠程維護MariaDB數據庫服務器系統,完成下列任務:

1)在MariaDB服務端受權管理用戶

容許root從任何IP地址訪問本機,密碼爲 pwd@123

2)從Win客戶機遠程管理MariaDB服務器

安裝MySQL-Front管理軟件
運行MySQL-Front程序,遠程鏈接MariaDB服務器
查看studb庫stuinfo表的數據內容
備份studb庫

4.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:在MariaDB服務端受權管理用戶

容許root從任何IP地址訪問本機,密碼爲 pwd@123

[root@svr7 ~]# mysql  -uroot  -ppwd@123
.. ..
MariaDB [(none)]> GRANT  all  ON  *.*  to  root@'%'  IDENTIFIED  BY  'pwd@123'  WITH  GRANT  OPTION;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> QUIT
Bye
[root@zbx ~]#

步驟二:從Win客戶機遠程管理MariaDB服務器

1)安裝MySQL-Front管理軟件

雙擊安裝程序MySQL-Front_Setup.exe,如圖-1所示,而後根據界面提示完成安裝
用戶受權控制、數據庫遠程維護、綜合應用案例
2)運行MySQL-Front程序,遠程鏈接MariaDB服務器

雙擊桌面的MySQL-Front快捷圖標,能夠打開此軟件程序。在初次啓動界面中,能夠根據提示正確填寫數據庫服務器信息,如圖-2所示,肯定後能夠添加數據庫鏈接。
用戶受權控制、數據庫遠程維護、綜合應用案例
而後選中剛創建的鏈接,如圖-3所示,單擊「打開」。
用戶受權控制、數據庫遠程維護、綜合應用案例
接下來會成功鏈接至目標數據庫服務器,如圖-4所示,默認會列出此用戶有權限看到的全部庫。
用戶受權控制、數據庫遠程維護、綜合應用案例
3)查看studb庫stuinfo表的數據內容

在MySQL-Front連入數據庫服務器的管理界面中,能夠對指定的庫、表進行操做。

好比,展開studb庫、選中stuinfo表,能夠經過右側的「對象瀏覽器」來查看或修改表的結構,如圖-5所示。
用戶受權控制、數據庫遠程維護、綜合應用案例
單擊右側的「數據瀏覽器」能夠查看或修改表格的數據內容,如圖-6所示。
用戶受權控制、數據庫遠程維護、綜合應用案例
4)備份studb庫

在MySQL-Front界面中,右擊左側的某個庫,選擇「導出」-->「SQL文件」,能夠選擇存放位置、備份方式,如圖-7所示,單擊「運行」便可執行備份。
用戶受權控制、數據庫遠程維護、綜合應用案例
5 案例5:企業OA系統部署
5.1 問題

本例要求在虛擬機192.168.10.7上快速部署「信呼協同辦公」系統,爲下一個遷移案例作好環境準備,完成下列任務:

1)準備LAMP環境,註冊本地域名 oa.tedu.cn

2)配置虛擬主機 oa.tedu.cn ,使用「信呼協同辦公」代碼

3)準備專用數據庫 oadb,受權用戶 runoa 全權訪問

4)調整 /var/www/oa 目錄的歸屬,使Web服務有寫入權限

5)訪問 http://oa.tedu.cn/ ,按提示安裝OA系統
5.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:準備LAMP環境,註冊本地域名 oa.tedu.cn

1)確保啓動LAMP網站平臺

[root@svr7 ~]# yum  -y  install  httpd  mariadb-server  maria  php  php-mysql
[root@svr7 ~]# systemctl  restart  httpd  mariadb
[root@svr7 ~]# systemctl  enable  httpd  mariadb

2)註冊本地域名 oa.tedu.cn

[root@svr7 ~]# vim  /etc/hosts                         //註冊本地域名
.. ..
192.168.10.7    svr7.tedu.cn  oa.tedu.cn

步驟二:配置虛擬主機 oa.tedu.cn ,使用「信呼協同辦公」代碼

1)解包及部署

[root@svr7 ~]# unzip  /root/信呼協同辦公_v1.8.1.zip  -d  /var/www/
.. ..                                                   //解包並部署到位

2)爲oa.tedu.cn添加虛擬主機

[root@svr7 ~]# vim  /etc/httpd/conf.d/vhosts.conf         //配置虛擬主機
<VirtualHost    *:80>
    ServerName    oa.tedu.cn
    DocumentRoot    /var/www/oa
</VirtualHost>
[root@svr7 ~]# systemctl  restart  httpd                 //重啓Web服務

步驟三:準備專用數據庫oadb,受權用戶runoa全權訪問

若是以前已經執行過此操做,則此處可跳過。

[root@svr7 ~]# mysql  -uroot  -ppwd@123                 //鏈接
MariaDB [(none)]> CREATE  DATABASE  oadb;                 //建庫
MariaDB [(none)]> GRANT  all  ON  oadb.*  to  runoa@localhost  IDENTIFIED  BY  'pwd@123';                                                 //受權用戶
MariaDB [(none)]> QUIT;                                 //退出
[root@svr7 ~]#

步驟五:調整/var/www/oa目錄的歸屬,使Web服務有寫入權限

[root@svr7 ~]# chown  -R  apache  /var/www/oa/
[root@svr7 ~]# ls  -ld  /var/www/oa/
drwxr-xr-x. 10 apache root 231 9月  24 22:27 /var/www/oa/

步驟五:訪問http://oa.tedu.cn/,按提示安裝OA系統

在svr7主機上啓動Firefox火狐瀏覽器,訪問http://oa.tedu.cn/,能夠看到信呼協同系統的安裝頁面,如圖-8所示。
用戶受權控制、數據庫遠程維護、綜合應用案例
單擊「知道了」,在下一個頁面中正確填寫數據庫鏈接信息,如圖-9所示,肯定無誤後單擊「提交安裝」便可。
用戶受權控制、數據庫遠程維護、綜合應用案例
注意:若提示「沒法寫入文件夾Webmain」,請檢查SELinux安全機制是否關閉。

完成安裝後,請根據頁面提示刪除安裝目錄、記錄默認管理用戶(admin)及密碼(123456),如圖-10所示,而後單擊「前去登陸頁面」。
用戶受權控制、數據庫遠程維護、綜合應用案例
成功登陸便可看到信息系統的管理界面,如圖-11所示。
用戶受權控制、數據庫遠程維護、綜合應用案例
6 案例6:企業OA系統遷移
6.1 問題

本例要求經過LAMP網站平臺的離線遷移過程,進一步熟悉網站和數據庫的備份、恢復相關操做,完成下列任務:

1)備份 svr7.tedu.cn 上的OA系統網站和數據庫資料

2)準備一臺新虛擬機(svr8.tedu.cn-->192.168.10.8)

安裝並啓動LAMP網站平臺
註冊本地域名 oa.tedu.cn-->192.168.10.8

3)經過備份將OA系統遷移到 svr8.tedu.cn 上

4)在svr8上訪問http://oa.tedu.cn/,驗證結果
6.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:備份 svr7.tedu.cn 上的OA系統網站和數據庫資料

1)備份網站

停Web服務:

[root@svr7 ~]# systemctl  stop  httpd

執行備份:

[root@svr7 ~]# tar  -zcPf  /root/oa_web.tgz  /etc/httpd/conf.d/vhosts.conf  /var/www/oa/                                       //注意選項P是大寫的

2)備份數據庫

執行備份:

[root@svr7 ~]# mysqldump  -uroot  -ppwd@123  --databases  oadb  >  /root/oa_database.sql                             //按多庫方式備份

確認備份文件:

[root@svr7 ~]# ls  -lh  /root/oa_* 
-rw-r--r--. 1 root root 1021K 9月  25 02:12 /root/oa_database.sql
-rw-r--r--. 1 root root  2.0M 9月  25 02:06 /root/oa_web.tgz

步驟二:準備一臺新虛擬機(svr8.tedu.cn  192.168.10.8)

1)安裝並啓動LAMP網站平臺

[root@svr8 ~]# yum  -y  install  httpd  mariadb-server  maria  php  php-mysql
[root@svr8 ~]# systemctl  restart  httpd  mariadb         //開啓網站和數據庫服務
[root@svr8 ~]# systemctl  enable  httpd  mariadb

2)註冊本地域名 oa.tedu.cn,對應IP地址192.168.10.8

[root@svr8 ~]# vim  /etc/hosts
192.168.10.8    oa.tedu.cn

步驟三:經過備份將OA系統遷移到 svr8.tedu.cn 上

1)上傳備份資料

注意提早將svr7上的網站、數據庫資料備份文件上傳到svr8上。好比,在svr7上能夠使用scp直接上傳備份文件。

[root@svr7 ~]# scp  /root/oa_*  root@192.168.10.8:/root 
root@192.168.10.8's password: 
oa_database.sql               100%  518KB  51.1MB/s   00:00    
oa_web.tgz                    100% 1947KB  65.4MB/s   00:00    
[root@svr7 ~]#

2)在svr8上確認備份資料

[root@svr8 ~]# ls  -lh  /root/oa_*
-rw-r--r--. 1 root root 518K 1月  15 18:11 /root/oa_database.sql
-rw-r--r--. 1 root root 2.0M 1月  15 18:11 /root/oa_web.tgz

3)恢復網站、數據庫

[root@svr8 ~]# tar  -xPf  /root/oa_web.tgz                       //導入網站文檔
[root@svr8 ~]# mysql  -uroot  <  /root/oa_database.sql              //導入數據庫

4)準備數據庫用戶

[root@svr8 ~]# mysql  -uroot                             //新數據庫服務器無密碼
MariaDB [(none)]> GRANT  all  ON  oadb.*  to  runoa@localhost  IDENTIFIED  BY  'pwd@123';                                                 //受權用戶
MariaDB [(none)]> QUIT;                                 //退出
[root@svr8 ~]#

步驟四:在svr8上訪問http://oa.tedu.cn/ ,驗證結果

遷移完畢後,能夠在svr8上訪問http://oa.tedu.cn/ ,直接得到原來運行在svr7上的OA平臺。經過管理員admin能夠直接登陸,數據資料都完整無缺,如圖-12所示。
用戶受權控制、數據庫遠程維護、綜合應用案例

相關文章
相關標籤/搜索