Mysql 数据库系统部署使用

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Apache HTTP Server作为优秀的Web服务器软件,提供了面向用户的前端应用功能,而在实际企业网站平台中,为了提供更丰富、更强大的Web应用功能,往往还需要有后台数据库、网页编程程序语言等多种角色的支持。

📝理论讲解:


MySQL服务基础


MySQL是一个真正的多线程,多用户的SQL数据库服务,凭借其高性能、高可用和易于使用的特性,成为服务器领域周昂最受欢迎的开源数据库系统。在2008年以前,MySQL项目由MySQL AB公司进行开发,发布和支持,之后历经Sun公司收购MySQL AB公司,Oracle公司收购Sun公司的过程,目前MySQL项目由Oracle公司负责运营的维护。本文将介绍MySQL的编译安装过程、服务控制方法、以及如何使用客户端工具访问MySQL数据库。


数据库用户授权


MySQL数据库的root用户账号拥有对所有库、表的全部权限、频繁使用root账号会给数据库服务器带来一定的安全风险。实际工作中,通常会建立一低权限的用户,只负责一部分库、表的管理和维护操作,甚至可对查询、修改、删除记录等各种操作进一步的细化权限,从而将数据库的风险降至最低。


授予权限


GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户,否则,GRANT语句用于修改用户信息。语句格式如下所示。

GRANT 权限列表 ON 库名.表名TO用户名@来源地址[ TDENTIFIED BY '密码' ]

使用GRANT语句时,需要注意的事项如下:

权限列表:用于列出授权使用的各种数据库操作,以逗号进行分割,如"select、insert、update"。使用"all"表示所有权限,可授权执行任何操作。

库名.表名:用于指定授权操作的库和表的名字,其中可以使用通配符" * "。列如,使用" auth.* " 表示授权操作的对象为auth库中的所有表。

用户名@来源地址:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以时域名、IP地址,还可以使用" % " 通配符,表示某个区域或网段内的所有地址,如" %.bdqn.com " "192.168.1.% " 等。

IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略" IDENTIFIED BY " 部分,则用户名的密码将为空。

执行以下操作可以添加一个名为" xiaoqi " 的数据库用户,并允许其从本机访问,对auth库中所有表具有查询权限,验证密码为" 123456 "。使用GRANT语句授权的用户记录会保存到MySQL库的user、db、host、tables_priv等相关表中,无须刷新即可生效。

mysql> GRANT select ON auth.* TO 'xiaoqi'@'localhost' IDENTIFIED BY '123455'


查看 权限

SHOW GRANTS语句:专门用来查看数据库用户的授权信息,通过FOR子句可指定查看的用户对象(必须与授权时使用的对象名字一致)。语句格式如下:

SHOW GRANTS FOR 用户名@来源地址

执行以下操作可以查看用户dbuser从主机192.168.4.19访问数据库时的授权信息。


mysql> SHOW GRANTS FOR 'dbuser' @ '192.168.4.19';

撤销权限

REVOKE语句:用于撤销指定用户的数据库权限,撤销权限后的用户名仍然可以连接到MySQL服务器,但将被禁止执行对应的数据库操作。语句格式如下所示。

REVOKE 权限列表 ON 数据库名.表名 FROM用户名@来源地址

执行一下操作可以撤销用户xiaoqi 从本机访问数据库auth所有权限。

mysql> REVOKE all ON auth.*FROM 'xiaoqi' @ 'localhost';
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW GRANTS FOR 'xiaoqi' @ 'localhost';


📖实验配置与实现:


拓扑图:


e91625f1b21da66d54a42840c926568.png


推荐步骤:


在Centos01上安装Mysql数据库服务,生成服务器其配置文件,添加系统服务优化命令初始化mysql,

设置访问密码登录 mysql 数据库

在 Centos01 的 mysql 服务器上创建数据库,数据库创建表修改表中数据

授权用户访问 Mysql 数据库增强数据库安全和数据库远程管理


实验步骤:



一、部署 Mysql 数据库系统


1、配置 yum 仓库安装依赖软件


1)挂载系统盘到mnt目录

b2318bb6ab2d55762131f92165b9a40.png


2)删除自带的yum仓库、配置本地的yum仓库


b9f61c095a976ea6b6b9d779b5ee7ea.png


3)安装依赖程序

fdfff3fb486bab1625f90396a237fe8.png


2、切换 mysql 程序光盘解压源代码程序


1)卸载系统光盘挂载点


855c9f4bde0d65ae83d62aadfbb11a2.png


3)挂载mysql程序光盘


cf942b254388cb39ac4ad04ee1fc4e8.png

4)解压源代码到usr/src/目录


2f48497a948528987e9c5e159db63d0.png


3、配置安装mysql


1)配置mysql

8f463e5f023216b606674ea0d0c04f5.png

2)编译安装MySQL


a4a81bb8bb57981ffaea8fa32b703c7.png


3)创建管理MySQL组和用户

e4da1aebc10cbffd9e665ec8a632690.png


4)修改目录所有者


c65176f601ecf8a9a806a1c385d574d.png


5)生成MySQL主配置文件覆盖原有文件

6)生成服务添加执行权限添加为系统服务设置开机自动启动

7)优化MySQL执行命令

3035a5bfa4aa2693ad54f92310bf9a5.png


8)初始化MySQL


3e6189578673ac3428799285dea285c.png


4、控制MySQL服务MySQL数据可设置密码


1)启动MySQL服务


235f7555035830dd66e6ea0cdf4e9f9.png


2)空密码登录MySQL数据库和退出

888b095fde60aacb57ed11e81f120ea.png


3)设置MySQL数据库密码使用账户密码登录


865e51d00e1ef981ae9fbffb78b3dad.png


二、MySQL数据库表和记录管理


1、数据库管理


1)登录MySQL数据创建数据库名字

c73ada2f66e8257e32b1e9fda02a95f.png


2)查看创建的数据库


277b79863aee6a98df103e41a9596ab.png


3)切换到创建的 HB3035 数据库和 mysql 数据库

2ca51a441b281eedfee019375c535cb.png


4)删除 HB3035 数据库查看创建的数据库


dd202db9211dac554caf9a27a2849e7.png


2、数据库表的管理


1)创建 accp 数据库,在 accp 数据库创建 student 表,设置表格 4 列数据三类为字符串 1 列数据为整数类


6ca34c4c1799483de680b109f628f61.png


2)查看创建的表结构

3d2de9b79dfbb38045c2831a0744850.png


3)切换到 accp 数据库,查看创建的表


d99816a514907a0c4a197c3bb16db7b.png



4)删除创建的student表

96068544136538717e3e60a1e851ee8.png


3、表中记录管理


1)student 表中插入连续列数据

bb88c420965da3799c96342893f1161.png


2)student 表中插入不连续列数据

2378673bad2d8c93e39eefffbc91989.png


3)查看表中student所有数据


e85e6899a563e304324c95e4cd475b6.png


4)查看 student 表的姓名和身份号码列数据


b6fc3fe07619a3e1eb487f6cc8a19c6.png


5)修改 stdeunt 表中数据给胡炎添加年龄和电话

54711cca9c8cef3daedfed398527b16.png


6)查看修改后的数据


0b18f27c513f906f5f23b971214c007.png


7)查看姓名是胡炎的数据


12dc96566c19b00595e966832ffe97f.png


8)删除 accp 数据库的 student 中记录名字是胡炎的记录

8fde919ef092f108c44dd054f00e976.png


9)查看删除后的数据


ea95d1ffeb452e6c36c45eff72a650e.png


三、授权用户管理数据和远程管理数据库修改数据库密码


1、授权和撤销授权的配置


1)授权用户 bob 对 accp 数据库下的所有表拥有完全控制权限通过远程计算机

192.168.100.30 访问


c3de1161d639dac4cfdca9944f8942d.png


2)查看授权的 bob 用户权限


beeca712e38b9e4c4aebce188c4affb.png


3)撤销授权


164ae7d22497cbc97b1d4f2da0e5a79.png

18e8c80b4e344581cb071ff4d0db543.png


2、授权远程 Linux 的客户端访问 mysql 数据库


1)挂载 Linux 系统光盘

793cac3bb0d8199a0ed93e9c7f14b59.png


2)配置 yum 仓库


371ab46fa5032985114378d0b424a2a.png


3)安装 mariadb 客户

cb634200f780852065bd4025297a77b.png


4)在 mysql 数据库授权 tom 用户完全控制权限通过主机 192.168.100.20 访问数据库服务器写入数据


1d413827ea3de894c7f46532dd09ec0.png

427bc18bc0ab44ce7d84666762bb5df.png


5)Linux 系统 Mysql 客户端远程访问 mysql 数据库

bf6e3ea024cd0828184b91fd56df4f2.png

1985d104372e98be35f3a049ca90967.png

692cdebeb5315e73f6c55b3412ca33a.png


3、授权远程 Windows 客户端访问 Mysql 数据库


1)在 Windows10 客户端安装 Navicat

97cbf8345bbf5cbf03e4932b81b2b89.png


2)接收协议许可条款


f5cb049c38bd1f3634e75359780c88c.png


3)指定一下安装位置


2adf272ec69dfffdd5acf883f2c90d7.png


4)创建桌面图标安装客户端


b9a1ac735616a3b233312b72169cedf.png


5)安装完成客户端


c883ff90725a8a1542f393d02182f80.png


6)找到安装目录可执行文件激活客户端


ec8616eff7880773344a911bd079974.png



7)mysql 服务器授权 192.168.100.40 通过 ljm 用户密码为 pwd@1234 访问任意数据库和表712663701547bfd3b7a97be6db5a49d.png

7eedc6969cf55a0103ef46ed5b981ec.png


8)客户端连接 mysql

c3c595256b45e727dc2b98bfd39b3e7.png


9)使用客户端查看数据


007d98f2d6f983e599154a5e7570b1c.png




相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9天前
|
SQL Java 关系型数据库
MySQL原理简介—3.生产环境的部署压测
本文介绍了Java系统和数据库在高并发场景下的压测要点: 1. 普通系统在4核8G机器上每秒能处理几百个请求 2. 高并发下数据库建议使用8核16G或更高配置的机器 3. 数据库部署后需进行基准压测,以评估其最大承载能力 4. QPS和TPS的区别及重要性 5. 压测时需关注IOPS、吞吐量、延迟 6. 除了QPS和TPS,还需监控CPU、内存、磁盘IO、网络带宽 7. 影响每秒可处理并发请求数的因素包括线程数、CPU、内存、磁盘IO和网络带宽 8. Sysbench是数据库压测工具,可构造测试数据并模拟高并发场景 9. 在增加线程数量的同时,必须观察机器的性能,确保各硬件负载在合理范围
113 72
|
19天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
8天前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
55 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
11天前
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
55 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
25天前
|
存储 安全 API
陪玩平台中支付与结算模块的代码,陪玩系统数据库设计与代码实现
第三方支付平台对接涉及与微信支付、支付宝等API接口的调用,确保用户支付流程顺畅。结算模块根据业务规则计算陪玩师收益,强调安全性、异常处理、可扩展性和日志记录。数据库设计涵盖用户、陪玩者、订单等信息的存储管理,确保系统稳定运行。
|
24天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生就业服务平台设计与实现(系统源码+文档+数据库+部署等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
62 6
|
24天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue的班级综合测评管理系统设计与实现(系统源码+文档+数据库+部署等)
✌免费选题、功能需求设计、任务书、开题报告、中期检查、程序功能实现、论文辅导、论文降重、答辩PPT辅导、会议视频一对一讲解代码等✌
40 4
|
24天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
36 2
|
9天前
|
人工智能 Cloud Native 关系型数据库
亚太唯一,阿里云连续5年位居Gartner®云数据库管理系统报告「领导者」
Gartner®公布2024年度《云数据库管理系统魔力象限》报告,阿里云成为亚太区唯一入选该报告“领导者(LEADERS)”象限的科技公司,同时也是唯一一家连续5年位居“领导者”象限的中国企业。

热门文章

最新文章

推荐镜像

更多