案例 1: 授权数据库用户
案例 2: 查看及撤销授权
案例 3: 重置数据库管理密码
案例 4: 远程维护数据库
案例 5: 企业 OA 系统部署
案例 6: 企业 OA 系统迁移
1 案例 1: 授权数据库用户
1.1 问题
本例要求掌握 MariaDB 数据库中用户账号的授权操作, 完成下列任务:
1)为 OA 系统建立专库 oadb, 并授权用户
允许用户 runoa 从本机访问, 对库 oadb 有全部权限
访问密码为 [email protected]
测试用户 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 有全部权限, 访问密码为 [email protected]
- MariaDB [(none)]> GRANT all ON oadb.* TO [email protected] IDENTIFIED BY '[email protected]';
- Query OK, 0 rows affected (0.00 sec)
- MariaDB [(none)]>
3)测试 runoa 的数据库访问权限
另开一个命令行终端, 以 runoa 用户连接本机数据库, 测试删除及重建 oadb 库.
- [[email protected] ~]# MySQL -urunoa [email protected]
- .. ..
- 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
- [[email protected] ~]#
步骤二: 新建名为 tarzan 的管理员
1)增加管理员用户
允许从其他任何客户机 ('%') 访问, 对所有库有全部权限, 访问密码为 tedu.cn1234.
管理员用户有权限通过 GRANT 授权用户.
- MariaDB [(none)]> GRANT all ON *.* to [email protected]'%' 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 数据库.
- [[email protected] ~]# 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 [email protected] IDENTIFIED BY '[email protected]';
- Query OK, 0 rows affected (0.00 sec)
- MariaDB [(none)]>
退出:
- MariaDB [(none)]> QUIT;
- Bye
- [[email protected] ~]#
2 案例 2: 查看及撤销授权
2.1 问题
本例要求学会在 MariaDB 数据库中查看及撤销指定用户的授权, 完成下列任务:
1)查看用户 tarzan 访问本机数据库的权限
2)撤销用户 tarzan 从任何客户机来访对所有库的所有权限
3)再次查看用户 tarzan 访问本机数据库的权限
2.2 步骤
实现此案例需要按照如下步骤进行.
步骤一: 查看用户 tarzan 访问本机数据库的权限
- MariaDB [(none)]> SHOW GRANTS FOR [email protected]'%';
- +----------------------------------------------------------------------------------------------------------------------------------+
- | Grants for [email protected]% |
- +----------------------------------------------------------------------------------------------------------------------------------+
- | 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 [email protected]'%';
- Query OK, 0 rows affected (0.00 sec)
- MariaDB [(none)]>
步骤三: 再次查看用户 tarzan 访问本机数据库的权限
- MariaDB [(none)]> SHOW GRANTS FOR [email protected]'%';
- +-------------------------------------------------------------------------------------------------------------------------+
- | Grants for [email protected]% |
- +-------------------------------------------------------------------------------------------------------------------------+
- | 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 服务
[[email protected] ~]# systemctl stop mariadb // 停服务
步骤二: 跳过授权启动数据库进程 mysqld_safe
- [[email protected] ~]# mysqld_safe --skip-grant-tables & // 直起进程
- [1] 105799
- [[email protected] ~]#
步骤三: 重设管理密码
1)免密码登入数据库
- [[email protected] ~]# MySQL -uroot // 免密码登入
- .. ..
- MariaDB [(none)]>
2)设置新密码
- MariaDB [(none)]> UPDATE MySQL.user SET Password=password('[email protected]') 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 进程
[[email protected] ~]# pkill -9 mysqld_safe // 强关 mysqld_safe
[1]+ 已杀死 mysqld_safe --skip-grant-tables
2)正常启动 mariadb 服务
[[email protected] ~]# systemctl restart mariadb // 起正常服务
步骤五: 验证新密码
- [[email protected] ~]# MySQL -uroot [email protected] // 验证新密码登入
- .. ..
- MariaDB [(none)]> QUIT
- Bye
- [[email protected] ~]#
4 案例 4: 远程维护数据库
4.1 问题
本例要求学会通过 MySQL-Front 图形软件远程维护 MariaDB 数据库服务器系统, 完成下列任务:
1)在 MariaDB 服务端授权管理用户
允许 root 从任何 IP 地址访问本机, 密码为 [email protected]
2)从 Win 客户机远程管理 MariaDB 服务器
安装 MySQL-Front 管理软件
运行 MySQL-Front 程序, 远程连接 MariaDB 服务器
查看 studb 库 stuinfo 表的数据内容
备份 studb 库
4.2 步骤
实现此案例需要按照如下步骤进行.
步骤一: 在 MariaDB 服务端授权管理用户
允许 root 从任何 IP 地址访问本机, 密码为 [email protected]
- [[email protected] ~]# MySQL -uroot [email protected]
- .. ..
- MariaDB [(none)]> GRANT all ON *.* to [email protected]'%' IDENTIFIED BY '[email protected]' WITH GRANT OPTION;
- Query OK, 0 rows affected (0.00 sec)
- MariaDB [(none)]> QUIT
- Bye
- [[email protected] ~]#
步骤二: 从 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 网站平台
- [[email protected] ~]# yum -y install httpd mariadb-server maria PHP PHP-MySQL
- [[email protected] ~]# systemctl restart httpd mariadb
- [[email protected] ~]# systemctl enable httpd mariadb
2)注册本地域名 oa.tedu.cn
- [[email protected] ~]# VIM /etc/hosts // 注册本地域名
- .. ..
- 192.168.10.7 svr7.tedu.cn oa.tedu.cn
步骤二: 配置虚拟主机 oa.tedu.cn , 使用 "信呼协同办公" 代码
1)解包及部署
- [[email protected] ~]# unzip /root / 信呼协同办公_v1.8.1.zip -d /var/www/
- .. .. // 解包并部署到位
2)为 oa.tedu.cn 添加虚拟主机
- [[email protected] ~]# VIM /etc/httpd/conf.d/vhosts.conf // 配置虚拟主机
- <VirtualHost *:80>
- ServerName oa.tedu.cn
- DocumentRoot /var/www/oa
- </VirtualHost>
- [[email protected] ~]# systemctl restart httpd // 重启 Web 服务
步骤三: 准备专用数据库 oadb, 授权用户 runoa 全权访问
如果之前已经执行过此操作, 则此处可跳过.
- [[email protected] ~]# MySQL -uroot [email protected] // 连接
- MariaDB [(none)]> CREATE DATABASE oadb; // 建库
- MariaDB [(none)]> GRANT all ON oadb.* to [email protected] IDENTIFIED BY '[email protected]'; // 授权用户
- MariaDB [(none)]> QUIT; // 退出
- [[email protected] ~]#
步骤五: 调整 / var/www/oa 目录的归属, 使 Web 服务有写入权限
- [[email protected] ~]# chown -R apache /var/www/oa/
- [[email protected] ~]# 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 服务:
[[email protected] ~]# systemctl stop httpd
执行备份:
[[email protected] ~]# tar -zcPf /root/oa_web.tgz /etc/httpd/conf.d/vhosts.conf /var/www/oa/ // 注意选项 P 是大写的
2)备份数据库
执行备份:
[[email protected] ~]# mysqldump -uroot [email protected] --databases oadb> /root/oa_database.sql // 按多库方式备份
确认备份文件:
[[email protected] ~]# 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 网站平台
- [[email protected] ~]# yum -y install httpd mariadb-server maria PHP PHP-MySQL
- [[email protected] ~]# systemctl restart httpd mariadb // 开启网站和数据库服务
- [[email protected] ~]# systemctl enable httpd mariadb
2)注册本地域名 oa.tedu.cn, 对应 IP 地址 192.168.10.8
- [[email protected] ~]# VIM /etc/hosts
- 192.168.10.8 oa.tedu.cn
步骤三: 通过备份将 OA 系统迁移到 svr8.tedu.cn 上
1)上传备份资料
注意提前将 svr7 上的网站, 数据库资料备份文件上传到 svr8 上. 比如, 在 svr7 上可以使用 scp 直接上传备份文件.
- [[email protected] ~]# scp /root/oa_* [email protected]:/root
- [email protected]'s password:
- oa_database.sql 100% 518KB 51.1MB/s 00:00
- oa_web.tgz 100% 1947KB 65.4MB/s 00:00
- [[email protected] ~]#
2)在 svr8 上确认备份资料
[[email protected] ~]# 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)恢复网站, 数据库
- [[email protected] ~]# tar -xPf /root/oa_web.tgz // 导入网站文档
- [[email protected] ~]# MySQL -uroot </root/oa_database.sql // 导入数据库
4)准备数据库用户
- [[email protected] ~]# MySQL -uroot // 新数据库服务器无密码
- MariaDB [(none)]> GRANT all ON oadb.* to [email protected] IDENTIFIED BY '[email protected]'; // 授权用户
- MariaDB [(none)]> QUIT; // 退出
- [[email protected] ~]#
步骤四: 在 svr8 上访问 http://oa.tedu.cn/ , 验证结果
迁移完毕后, 可以在 svr8 上访问 http://oa.tedu.cn/ , 直接获得原来运行在 svr7 上的 OA 平台. 通过管理员 admin 可以直接登录, 数据资料都完好无损, 如图 - 12 所示.
来源: http://www.bubuko.com/infodetail-3089957.html