一、账号管理
关系数据库:SQLserver、Oracle、MySQL
MySQL中具有默认的表,自带的:
其中重要的四张表:
1、user表(用户层权限)
Y说明他拥有所有表的查找权限,如果为N就需要到下一级db表中进行权限分配了。
%是通配符,代表任意的意思。
2、db表(数据库层权限)
除了默认MySQL用户(root)的 用户数据库对应关系, 对应的用户操作对应的数据库的表数据
3、tables_priv表(表层权限)
二、权限管理
--关注用户名、密码
select host,user,authentication_string from user
--创建新用户lv(没有密码)
create user lv;
--修改lv的密码
alter user lv identified with mysql_native_password by '123456';
--将所有的权限给某一张表
grant all on javaxm.to_lv to lv@'%'
--将所有的权限给某一个库的所有表
grant all on javaxm.* to lv@'%'
--收回权限
revoke all on javaxm.to_lv from lv@'%'
--刷新权限
flush privileges;
--查看给lv用户赋予权限的SQL
show grants for 'lv'@'%'
--将javaxm数据库的to_lv表的查询、删除、增加权限给lv
grant SELECT on javaxm.to_lv to lv@'%'
grant DELETE on javaxm.to_lv to lv@'%'
grant INSERT on javaxm.to_lv to lv@'%'
lv中也将有to_lv这个表,在lv中的javaxm数据库删除to_lv这个表,同样本地连接中的javaxm数据库也将会失去这个表
user表中host列的值的意义:
% : 匹配所有主机
localhost : localhost不会被解析成IP地址,直接通过UNIXsocket连接
三、建库
1、右键,选择新建数据库
2、按照图片选择
sql语句建库:
create database if not exists 数据库名 default charset utf8 collate utf8_general_ci;
查看所有数据库以及删除数据库
show databases;
drop database 数据库名;
四、四大引擎(主要两个)
1、InnoDB存储引擎:
是默认的MySQL引擎
2、MyISAM存储引擎:
MyISAM基于ISAM存储引擎,查询速度快