MySQL--01

1,MySQL--简介

why
​ 		数据在内存中容易丢失
​		数据在文件中,不便于操作
​	what
​		使用完整的管理系统统一管理,易于查询
​	where
​		凡是需要持久化存储数据的地方
​	术语
​		DB
​			数据库(database):存储数据的“仓库”。它保存了一系列有组织的数据。
​		DBMS
​			数据库管理系统(Database Management System)。数据库是通过DBMS创建和操作的容器
​		SQL
​			结构化查询语言(Structure Query Language):专门用来与数据库通信的语言

2.MySQL安装

安装MySQL(8.0的版本)

1.解压MySQL
2.修改my.ini文件

使用命令提示符操作以下

3.mysqld install
4.mysqld --initialize --console
5.net start mysql
6.mysql -P 3306 -u root -p
7.ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
8.Navicat链接测试

如果MySQL已经安装过,那么执行mysqld remove

mysql之账号管理、建库以及四大引擎

mysql库里面自带一些表,一共有四个表很重要,用的也比较多的是前三个,分别是

user

1、user表(用户层权限)

因为字段太多,只截取了一部分。首先登陆的时候验证Host,User,Password也就是ip,用户名,密码是否匹配,匹配登陆成功将会为登陆者分配权限,分配权限的顺序也是按照上面四张表的排列顺序进行的,举个例子,如果user表的Select_priv为Y说明他拥有所有表的查找权限,如果为N就需要到下一级db表中进行权限分配了。其中的%是通配符,代表任意的意思。

db

2、db表(数据库层权限)

来到db表之后会匹配Host,User然后会根据Db字段对应的表进行权限分配,像Select_priv这些字段对应的权限大家应该都能看出来是对应着什么权限了吧,这里不细说了(不偷懒,举个例子Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv分别代表着查询,增加,更新,删除,创建,销毁)。其中Y代表这拥有此项权限,N则代表没有此项权限。

tables_priv

3、tables_priv表(表层权限)

与上面一样,这是通过Host,Db,User,Table来进行定位到表层的一个权限分配。不过它只有Table_priv和Column_priv两个字段来记录权限。

columns_priv

4、columns_priv表(字段层权限)

顾名思义,字段层权限,通过Host,Db,User,Table,Column来进行定位到字段层的一个权限分配,只有Column_priv来记录权限。

账号管理一定是从mysql库开始的

use mysql;

二.MySQL的使用

安装完数据库,会自带一个名MySQL的数据库user表中会自带四个用户,如下:

 创建新用户及设置密码

 连接小明 xm

 

连接后只有一个库 没有权限

 给查询权限给xm 小明

 

 附代码

#SELECT * FROM `user`

#create user dzl identified by 'password';
-- 关注用户名,密码
select host,user,authentication_string from user;
-- 创建新用户小明(是没有没有密码的)
create user xm;
-- 修改小明的密码
ALTER USER xm IDENTIFIED WITH mysql_native_password BY 'password';

#语法:grant privileges on databasename.tablename to username@'host';
#翻译  赋予什么权限给某一个数据库的某一张表的权限给某一个用户

#将temp的t_mvc_book表的权限给小明
#查询权限
grant SELECT on temp.t_mvc_book to xm@'%';
#删除权限 
grant DELETE on temp.t_mvc_book to xm@'%';
#增加权限
grant INSERT on temp.t_mvc_book to xm@'%';

-- 一次性赋予某一张表的所有权限
grant all on temp.t_mvc_book to xm@'%';

# 一次性赋予某一个数据库的所有表权限
grant all on temp.* to xm@'%';

#撤销权限(Revoke)
#语法:revoke privileges on databasename.tablename from username@'host';
revoke all on temp.t_mvc_book from xm@'%';


-- 查看给xm用户赋予权限的sql
show grants for 'xm'@'%';


# 2种建库  第一种没有默认编码,第二种有
-- 1. 语法:create database 数据库名; 


-- 2。 create database if not exists 数据库名 default charset utf8 collate utf8_general_ci;


-- 四大引擎 
#默认 innodb  因为innodb是支持事物的 所以是默认的

#MyISAM  查询效率高 不支持事物

#IMyISAM

1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值