您的位置:首页 > 数据库

用户授权控制、数据库远程维护、综合应用案例

2019-06-11 19:56 1646 查看
案例1:授权数据库用户
案例2:查看及撤销授权
案例3:重置数据库管理密码
案例4:远程维护数据库
案例5:企业OA系统部署
案例6:企业OA系统迁移

1 案例1:授权数据库用户
1.1 问题

本例要求掌握MariaDB数据库中用户账号的授权操作,完成下列任务:

1)为OA系统建立专库 oadb,并授权用户

允许用户 runoa 从本机访问,对库 oadb 有全部权限
访问密码为 pwd@123
测试用户runoa的数据库访问权限

2)新建名为tarzan的管理员

允许从任何客户机('%')访问,对所有库有全部权限
访问密码为 tedu.cn1234
测试用户tarzan的数据库访问权限

1.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:为OA系统建立专库 oadb,并授权用户

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所示。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: