数据库02

第一章:mysql的逻辑结构(抽象结构)

1.1库(databases,schema)

库的名字
库的属性(权限)

1.2表(tables,segement)

表的属性
表的名字
表的数据行(row,记录,元组)
列的结构(列的名字,属性,字段)

1.3用户(user)+权限(privileges)

用户名
白名单(主机范围)

1.4others

第二章:mysql的物理结构

1.1库

磁盘盘上就是一个目录

1.2表

源数据
1. 表属性
2. 列
3. 表的名字
 数据行
mysql引擎  {
[root@db01 /data/3306/data/mysql]# ls -l user*
-rw-r----- 1 mysql mysql 10816 Aug  5 16:41 user.frm
列的信息
-rw-r----- 1 mysql mysql   396 Aug  5 16:55 user.MYD
存储数据行
-rw-r----- 1 mysql mysql  4096 Aug  5 16:55 user.MYI
索引相关信息
}
lnnoDB存储引擎{
-rw-r----- 1 mysql mysql  8606 Aug  5 16:41 time_zone_name.frm
列的信息
-rw-r----- 1 mysql mysql 98304 Aug  5 16:41 time_zone_name.ibd
数据行和索引(IOT)
}
#####使用多个文件存储表的信息

第三章:InnoDB表底层存储结构引入(扩展)

1.1段

一个表就是一个段,在我们进行数据存储时,mysql回在表段中至少分配一个区,也就是1M物理存储空间
一个非分区字段是一个段

1.2区

连续的64个page是一个区,大小是1M

1.3页

mysql最小的IO单元,默认是16kb

第四章:mysql基础管理-用户及权限

4.1用户的管理

用户的作用
1.登陆mysql
2.管理mysql的对象
用户的定义
1.用户名
2.白名单(主机列表),可被允许的主机ip
3.用户定义的几种方式 {
oldboy@‘10.0.0.1
oldboy@‘%
oldboy@‘localhost
oldboy@‘10.0.0.%
oldboy@‘db01
oldboy@‘10.0.0.0/255.255.255.0
oldboy@‘pang.com
oldboy@‘10.0.0.5%
}
用户的管理操作
1. 创建用户
pang[(none)]>create user pang@'10.0.0.%';
Query OK, 0 rows affected (0.00 sec)

pang[(none)]>
2.删除用户
pang[(none)]>drop user pang@'10.0.0.%';
Query OK, 0 rows affected (0.00 sec)

pang[(none)]>
3.查看用户
pang[(none)]>select user,host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| pang          | 10.0.0.%  |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
4 rows in set (0.00 sec)

pang[(none)]>
4.修改用户信息,密码
pang[(none)]>alter user pang@'10.0.0.%' identified by '123';
Query OK, 0 rows affected (0.00 sec)

pang[(none)]>
5. 创建用户,并创建密码
pang[(none)]>create user pang@'10.0.0.%' identified by '123';
Query OK, 0 rows affected (0.00 sec)

pang[(none)]>
####8.0以前,以上命令可以忽略,grant可以自动,用户并授权。

#### 8.0以后必须先创建用户后授权,grant只能做授权管理

4.2权限

1.作用:开启用户的管理对象的能力
2.定义(8.0以前):


3.授权范围:
*.*  :全库,管理员
wordpress.* :单库,开发,
wordpress.ti :单表级别,很少使用
4.授权管理命令


5.授权管理生产需求{



}

image.png
ALL或ALL PRIVILEGES  代表指定权限等级的所有权限。
ALTER   允许使用ALTER TABLE来改变表的结构,ALTER TABLE同时也需要CREATE和INSERT权限。重命名一个表需要对旧表具有ALTER和DROP权限,对新表具有CREATE和INSERT权限。
ALTER ROUTINE   允许改变和删除存储过程和函数
CREATE  允许创建新的数据库和表
CREATE ROUTINE  允许创建存储过程和包
CREATE TABLESPACE   允许创建、更改和删除表空间和日志文件组
CREATE TEMPORARY TABLES 允许创建临时表
CREATE USER 允许更改、创建、删除、重命名用户和收回所有权限
CREATE VIEW     允许创建视图
DELETE  允许从数据库的表中删除行
DROP    允许删除数据库、表和视图
EVENT   允许在事件调度里面创建、更改、删除和查看事件
EXECUETE    允许执行存储过程和包
FILE        允许在服务器的主机上通过LOAD DATA INFILE、SELECT ... INTO OUTFILE和LOAD_FILE()函数读写文件
GRANT OPTION    允许向其他用户授予或移除权限
INDEX   允许创建和删除索引
INSERT  允许向数据库的表中插入行
LOCK TABLE  允许执行LOCK TABLES语句来锁定表
PROCESS 允许显示在服务器上执行的线程信息,即被会话所执行的语句信息。这个权限允许你执行SHOW PROCESSLIST和mysqladmin processlist命令来查看线程,同时这个权限也允许你执行SHOW ENGINE命令
PROXY   允许用户冒充成为另外一个用户
REFERENCES  允许创建外键
RELOAD  允许使用FLUSH语句
REPLICATION CLIENT  允许执行SHOW MASTER STATUS,SHOW SLAVE STATUS和SHOW BINARY LOGS命令
REPLICATION SLAVE   允许SLAVE服务器连接到当前服务器来作为他们的主服务器
SELECT  允许从数据库中查询表
SHOW DATABASES  允许账户执行SHOW DATABASE语句来查看数据库。没有这个权限的账户只能看到他们具有权限的数据库。
SHOW VIEW   允许执行SHOW CREATE VIEW语句
SHUTDOWN    允许执行SHUTDOWN语句和mysqladmin shutdown已经mysql_shutdown() C API函数
SUPER   允许用户执行CHANGE MASTER TO,KILL或mysqladmin kill命令来杀掉其他用户的线程,允许执行PURGE BINARY LOGS命令,通过SET GLOBAL来设置系统参数,执行mysqladmin debug命令,开启和关闭日志,即使read_only参数开启也可以执行update语句,打开和关闭从服务器上面的复制,允许在连接数达到max_connections的情况下连接到服务器。
TRIGGER 允许操作触发器
UPDATE  允许更新数据库中的表
USAGE   代表没有任何权限,只能登陆

你可能感兴趣的:(数据库02)