33
权限管理和备份
用户管理
-- 创建用户
CREATE USER zuorenlo IDENTIFIED BY '123456'
-- 修改密码
-- 修改当前用户密码
SET PASSWORD = PASSWORD('123123') -- 新密码
-- 修改指定用户密码
ALTER USER buzuoren IDENTIFIED BY '123123' -- 新密码
-- 重命名
RENAME USER zuorenlo TO buzuoren -- 原名-->新名字
-- 用户授权
-- ALL PRIVILEGES 除了给别人授权,其他都能干
GRANT ALL PRIVILEGES ON *.* TO buzuoren
-- 查看权限
SHOW GRANTS FOR buzuoren -- 查看指定用户权限
SHOW GRANTS FOR root@localhost
-- 撤销权限
REVOKE ALL PRIVILEGES ON *.* FROM buzuoren
-- 删除用户
DROP USER buzuoren
备份
为什么要备份
保护重要数据不丢失
数据转移
备份方式
拷贝物理文件
可视化工具手动导出
使用命令行
mysqldump -h主机 -u用户名 -p密码 数据库名称 表名 >磁盘位置/名称
mysqldump -hlocalhost -uroot -p123456 school student >D:/a.sql
规范数据库设计
糟糕的数据库设计
数据冗余,浪费空间
数据库插入删除都会麻烦,异常(屏蔽使用物理外键)
程序性能差
良好的数据库设计
节省内存空间
保证数据库的完整性
方便我们开发系统
软件开发中,关于数据库的设计
分析需求:分析业务和需要处理的数据库的需求
概要设计:设计关系图E-R图
设计数据库的步骤:
收集信息,分析需求
标识实体(把需求落地到每个字段)
标识实体之间的关系
三大范式
为什么需要数据规范化?
信息重复
更新异常
插入异常(无法正常显示信息)
删除异常(丢失有效信息)
三大范式
第一范式:要求数据库表的每一列都是不可分割的原子数据项
第二范式:满足第一范式;数据库表中的每一列都和主键相关,一张表只描述一件事
第三范式:满足第一范式,第二范式;所有属性直接依赖于主键,不存在传递依赖
规范性和性能(用户体验)
鱼和熊掌不能兼得!