业务级别MySQL
业务级别MySQL
1. 权限管理和备份
1. 用户管理
1. SQLyog可视化操作
2. SQL命令操作
用户表:mysql下的user表
-- 创建用户
-- create user 用户名 identified by '密码'
create user wang identified by '123456'
-- 修改密码(修改当前用户密码)
-- set password = password('密码')
set password = password('111111')
-- 修改密码(修改指定用户的密码)
-- set password for 用户名 = password('密码')
set password for wang = password('123456')
-- 重命名
-- rename user 原来的用户名 to 新的用户名
rename user wang to wang_2
-- 用户授权:all privileges全部的权限,库,表
-- all privileges:除了给别人授权(grant),其他都能干
grant all privileges on *.* to wang_2
-- 查看权限
show grants for wang_2 -- 查看指定用户的权限
show grants for root@localhost -- 查看root用户的权限
-- root用户的权限:GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
-- 撤销权限
-- revoke 撤销哪些权限 on 在哪个库撤销 from 给谁撤销
revoke all privileges on *.* from wang_2
-- 删除用户
-- drop user 用户名
drop user wang_2
2. MySQL备份
为什么要备份:
- 保证重要的数据不丢失
- 数据转移
MySQL数据库备份的方式:
- 直接拷贝物理文件
- 在SQLyog这种可视化工具中手动导出,在想要导出的表或者库中,选择备份或导出
- 使用命令行导出:mysqldump
#导出表
# mysqldump -h主机 -u用户名 -p密码 数据库 表名 >物理磁盘位置/文件名
mysqldump -hlocalhost -uroot -p123456 school student >D:/a.sql
# mysqldump -h主机 -u用户名 -p密码 数据库 表名1 表名2 ... >物理磁盘位置/文件名
mysqldump -hlocalhost -uroot -p123456 school student result >D:/a.sql
# 导出数据库
# mysqldump -h主机 -u用户名 -p密码 数据库 >物理磁盘位置/文件名
mysqldump -hlocalhost -uroot -p123456 school >D:/a.sql
# 导入
# 登陆的情况下,切换到指定的数据库
# source 备份文件
source d:/a.sql
# 登陆
mysql -u用户名 -p密码
假设你要备份数据库,防止数据丢失
把整个数据库给别人,sql文件给别人即可
3. 规范数据库设计
1. 为什么需要设计
当数据库比较复杂的时候,我们就需要设计了
1. 糟糕的数据库设计:
- 数据冗余,浪费空间
- 数据库插入和删除都会麻烦、异常(屏蔽使用物理外键)
- 程序的性能差
2. 良好的数据库设计
- 节省内存空间
- 保证数据库的完整性
- 方便我们开发系统
3. 软件开发中,关于数据库的设计
- 分析需求:分析业务的需要处理的数据库的需求
- 概要设计:设计关系图 E-R 图
4. 设计数据库的步骤(个人博客)
收集信息,分析需求
用户表(用户登录注销,用户的个人信息,写博客,创建分类)
分类表(文章分类,谁创建的)
文章表(文章的信息)
评论表
友链表(友链信息)
自定义表(系统信息,某个关键的字,或者一些主字段)
标识实体(把需求落地到每个字段)
标识实体之间的关系
- 写博客:user --> blog
- 创建分类:user --> category
- 关注:user --> user
- 友链:links
- 评论:user --> user --> blog
2. 三大范式
1. 为什么需要数据规范化?
- 信息重复
- 更新异常
- 插入异常
- 无法正常显示信息
- 删除异常
- 丢失有效的信息
2. 第一范式(1NF)
原子性:保证每一列不可再分
3. 第二范式(2NF)
前提:满足第一范式
每张表只描述一件事情
4. 第三范式(3NF)
前提:满足第一范式和第二范式
第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。
5. 规范性和性能的问题
关联查询的表不得超过三张表
- 考虑商业化的需求和目标(成本,用户体验) 数据库的性能更加重要
- 在规范性能的问题的时候,需要适当的考虑一下规范性
- 故意给某些表增加一些冗余的字段(从多表查询变为单表查询)
- 故意增加一些计算列(从大数据量降低为小数据量的查询:索引)
业务级别MySQL的更多相关文章
- 1122从业务优化MYSQL
http://blog.itpub.net/22664653/viewspace-2079576/ 开发反馈一个表的数据大小已经130G,对物理存储空间有影响,且不容易做数据库ddl变更.咨询了开发相 ...
- 数据库事务的四大特性以及事务的隔离级别(mysql)
本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指 ...
- 事务以及MySQL事务隔离级别+MySQL引擎的区别
1.事务的基本要素:ACID 1.原子性(Atomicity): 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有 ...
- 搭建备份到业务迁移---mysql
mysql安装启动以及配置 使用到阿里云主机直接yum安装以及配置 [root@yunwei-169 mysql]# yum install mysql mysql-server [root@yunw ...
- Solon详解(六)- 定制业务级别的验证注解
在业务的实现过程中,尤其是对外接口开发,我们需要对请求进行大量的验证并返回错误状态码和描述.lombok 框架有很多很赞的注解,但是人家是throw一个异常,这与有些需求不一定能匹配. 该文将基于So ...
- 简单3步快速生成千万级别mysql测试数据库,模拟电商数据
https://blog.csdn.net/wuda0112/article/details/88387735 github项目地址:https://github.com/wuda0112/mysql ...
- mysql部分学习心得(入门级别)
mysql中针对不同的数据选择对应的存储引擎 mysql中也会针对不同的数据处理选择对应的存储的引擎 mysql中也会针对不同的数据处理选择对应的存储的引擎 mysql中一些授权(grant)等的通常 ...
- 【不错】MySQL 事务隔离级别
一.事务描述 1.事务的四个特性 ACID 1. A:原子性 = 一个事务或者都成功.或者都失败: 2. C:一致性 = 在整个事务的生命周期里面,查询到的数据是一致的: MVCC多版本并发控制:利用 ...
- Mysql 四种事务隔离级别
一.前提 时过一年重新拾起博文记录,希望后面都能坚持下来. 接着之前MySql的学习,先记录下这篇. 以下都是基于mysql8 innodb存储引擎进行分析的. 二.事务的ACID特性 A(Atomi ...
随机推荐
- golang实现 快速排序算法
快速排序算法原理: b站https://b23.tv/uJqRYN package main import "fmt" //[]int{1,2,3,4,5,6,7,8} func ...
- c++排序二叉树的出现的私有函数讨论,以及二叉树的删除操作详解
c++排序二叉树的出现的私有函数讨论, 以及二叉树的删除操作详解 标签(空格分隔): c++ 前言 我在c++学习的过程中, 最近打了一个排序二叉树的题目,题目中出现了私有函数成员,当时没有理解清楚这 ...
- Spring Boot自定义错误视图
Spring Boot缺省错误视图解析器 Web应用在处理请求的过程中发生错误是非常常见的情况,SpringBoot中为我们实现了一个错误视图解析器(DefaultErrorViewResolver) ...
- CPF 入门教程(一)
CPF netcore跨平台UI框架 开发之前,你需要先安装VS2019.为什么要vs2019?因为VS2019才能支持netcore3.0以上,netcore3.0之后才能发布独立的程序,之前的都只 ...
- HTML基础-01
HTML:超文本标记语言,是一种使用结构化Web网页(标准制定者:W3C)及其内容的标记语言. 发展过程:XHTML5,HTML5,XHTML1.0,HTML4.01,HTML3.2 HTML5特性: ...
- noip复习——线性筛(欧拉筛)
整数的唯一分解定理: \(\forall A\in \mathbb {N} ,\,A>1\quad \exists \prod\limits _{i=1}^{s}p_{i}^{a_{i}}=A\ ...
- QT下载速度慢的解决方法
在官网的下载速度实在太慢了 找到了一个镜像网站 https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/
- springMVC入门(四)------参数绑定与返回值类型
简介 从之前的介绍,已经可以使用springMVC完成完整的请求.返回数据的功能. 待解决的问题:如何将数据传入springMVC的控制器进行后续的处理,完成在原生servlet/jsp开发中Http ...
- 6. 二十不惑,ObjectMapper使用也不再迷惑
一滴水,用显微镜看,也是一个大世界.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众 ...
- 实用教程!SPSSAU验证性因子分析思路总结
验证性因子分析,是用于测量因子与测量项(量表题项)之间的对应关系是否与研究者预测保持一致的一种研究方法.尽管因子分析适合任何学科使用,但以社会科学居多. 目前有很多软件都可以非常便利地实现验证性因子分 ...