我是南城余!阿里云开发者平台专家博士证书获得者!
欢迎关注我的博客!一同成长!
一名从事运维开发的worker,记录分享学习。
专注于AI,运维开发,windows Linux 系统领域的分享!
知识库链接:
百度网盘下载链接:
链接: 百度网盘-链接不存在
提取码: xiqy
-- 查看建表或者建库语句
show database xxx;
show create table xxx;
-- 查看字符集
show variables like 'character%';
-- 查看字符集比较规则
show collection like 'utf8';
1. 字符集
utf8
与utf8mb3
是一个,utf8mb4
是utf8
的升级
比较规则
2. 默认数据库
可以使用show databases
查看存在的数据库
默认存在四个数据库
- mysql:MySQL自带的核心数据库,存储了MySQL的用户账号和权限信息,一些存储过程、事件的定义信息,以及运行中产生的日志信息,帮助信息和时区信息等
- information_schema:保存着MySQL服务器维护的所有其他数据库的信息,如表、视图、触发器等(这些信息并不是真实的用户数据,而是一些描述信息,称之为元数据)
- performance_schema:这个表存储了MySQL服务器运行过程的一些二状态信息,用来监控MySQL服务的各类性能指标
- sys:主要通过视图把nformation_schema和performance_schema结合起来,用于监控MySQL的技术性能
3. 用户管理
用户管理的权限实际是还是对数据库表的操作。而自带的mysql数据库便是存储了用户信息的数据库,随意大多操作是对mysql数据库的操作,(注:此mysql并非MySQL,而是MySQL自带的四个表之一的数据库)
-- 所有对数据库权限的操作 基本都应该执行
flush privileges;
-- 创建用户 创建一个只能在本机登录的用户 若换为% 表示可以在任何IP 上登录
create user 'nanchengyu'@'localhost' identified by '123456';
-- 删除用户
drop user 'nanchengyu';
drop user 'nanchengyu'@'localhost'; --不加默认删除 %
-- delete不推荐此操作 删除会不干净
delete from user where user = 'nanchengyu' and host='%;
flush privileges;
-- 修改密码
alter user user() identified by '123456'
set password = '123456';
4. 权限管理
grant select,update on dbtest.* to 'nanchengyu'@'%';
grant all privileges on *.* to 'nanchengyu'@'%';
--查看权限
show grants;
revoke select on *.* from 'nanchengyu'@'%';
-- 给xx用户赋予权限
grant 'manager'@'%' to 'wangwu'@'%';
-- 上方需要激活操作
set default role 'manager'@'%' to 'wang5'@'%;
-- 也可以不执行上方操作 执行下方语句对所有角色永久激活
set global activate_all_roles_on_login=on;