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

这篇博客介绍了MySQL的基本概念,包括数据库(DB)、数据库管理系统(DBMS)和SQL语言。详细阐述了MySQL的安装步骤,并讲解了账号管理,特别是用户权限的四个关键表:user、db、tables_priv和columns_priv。接着展示了如何创建数据库、用户以及分配权限。还对比了InnoDB和MyISAM两大存储引擎的特点。最后,提供了在命令行中连接和操作MySQL数据库的示例。
摘要由CSDN通过智能技术生成

一.MySQL的介绍

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

二. MySQL的安装

安装过程:

j2EE第一课_m0_52681702的博客-CSDN博客

三. MySQL的账号管理

mysql中有默认的表(自带的),其中有四个表很重要:

1、user表(用户层权限)

 注:Y说明他拥有所有表的查找权限,如果为N就需要到下一级db表中进行权限分配了。其中的%是通配符,代表任意的意思。

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

注:来到db表之后会匹配Host,User然后会根据Db字段对应的表进行权限分配

其中Y代表这拥有此项权限,N则代表没有此项权限。

3、tables_priv表(表层权限)

注:通过Host,Db,User,Table来进行定位到表层的一个权限分配。它只有Table_priv和Column_priv两个字段来记录权限。

4,columns_priv

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

四.建库

1.新建数据库

按照以下选择后确认:

注:CHARACTER SET utf8mb4创建数据库时,可以指定数据库的字符集(gbk、utf8……)避免中文乱码的问题。如果不指定,MySQL 会给顶一个默认值字符集(在 mysql.ini 配置文件中)。 

连接:

  2.创建新用户及设置密码:123456

SELECT * FROM `user`
#关注用户名,密码
select host,user,authentication_string from user;
#创建新用户李四,张三(是没有密码的)
create user ls;
create user zs;


#修改李四的密码
ALTER user zs IDENTIFIED WITH mysql_native_password by '123456'

展示:

 

 权限代码展示:

SELECT * FROM `user`
#关注用户名,密码
select host,user,authentication_string from user;
#创建新用户李四,张三(是没有密码的)
create user ls;
create user zs;

#删除
DROP user zs;

#修改李四的密码
ALTER user zs IDENTIFIED WITH mysql_native_password by '123456'

#语法:grant privileges on databasename,tablename to username@'host';

#将mysql数据库评论表tables_priv 的权限给ls
GRANT PRIVILEGES on aaa.t_mvc_book to ls@'%';
GRANT DELETE on mysql.tables_priv to ls@'%';
GRANT INSERT on mysql.tables_priv to ls@'%';
GRANT SELECT on mysql.tables_priv to ls@'%';

--一次性赋予某一张表的所有权限
GRANT all on mysql.tables_priv to ls@'%';

--一次性赋予某一个库的所有表牵线
GRANT all on mysql.* to ls@'%';

#语法:REVOKE PRIVILEGES on database_name.tablename from Username@'host';
revoke all on mysql.tables_priv from ls@'%';

--刷新权限
FLUSH PRIVILEGES

--查看给你ls用户赋予权限的sql
show GRANTS for 'ls'@'%';

#赋予ls有登录mysql的权限
GRANT USAGE ON *.* TO `ls`@`%`

#赋予ls有访问'mysql'库里面所有的权限
GRANT ALL PRIVILEGES ON `mysql`.* TO `ls`@`%`

#赋予'ls'评论表里面增加删除查询的权限
GRANT ALL PRIVILEGES ON `mysql`.`db` TO `ls`@`%`

#赋予`tables_priv`的权限
GRANT ALL PRIVILEGES ON `mysql`.`tables_priv` TO `ls`@`%`

五、四大引擎(主要两个)

1、InnoDB存储引擎
InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,上图也看到了,InnoDB是默认的MySQL引擎。

2、MyISAM存储引擎:

MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事物。

六.黑窗口连接数据库操作 

第一步:win+R打开运行输入cmd进入黑窗口

1.本地连接:

mysql -u root -p 回车

密码:123456

2.远程连接:远程连接,必须经过授权

mysql -h ip -u 账号 -p回车

mysql -h 127.0.0.1 -u root -p

root :超级管理员,权限最高,默认存在

 第二步:查看数据库

1.查看所有数据库:show databases;

2.查看创建好的数据库:show create database 数据库名字;

 注:(这里\G是为了让结果更好地展示)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值