当前位置: 首页 > news >正文

MySQL------存储引擎和用户和授权

9.存储引擎

1.两种引擎

MyISAM和InnoDB

2.两种区别

1.事务: MyISAM不支持事务

2.存储文件: innodb : frm、ibd MyISAM: frm、MYD、MYI

3.数据行锁定: MyISAM不支持

4.全文索引: INNODB不支持,所以MYISAM做select操作速度很快

5.外键约束: MyISAM不支持

3.引擎优缺点:

INNODB

1.可靠性更强,或者业务要求事务时

2.表更新和查询相当频繁,并且表锁定的情况比较大

3.如果你需要大量的修改和插入时。

MYISAM:

1.做很多的数据计算,mysql的底层系统库就是MyISAM

2.修改和插入不频繁,如果执行大量的select,MYISAM比INNODB更加适合

3.没有事务

10.用户和授权

1.创建用户方式

1.创建用户的第一种方式
CREATE USER <'用户名'@'地址'> IDENTIFIED BY ‘密码’;
create user "用户名"@"主机地址localhost" identified by "用户密码";
​
2.创建用户的第二种方式---推荐使用
grant 权限 on 数据库.表 to "用户名"@"主机地址localhost" identified by "用户密码";
-- 权限:SELECT、INSERT、DELETE、UPDATE、ALTER
-- 数据库.表: 可以赋权的数据库及表,* 代表所有 *.* 所有库下的所有表

2.操作

1.查看系统的用户
mysql> select user,host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)
​
2.创建一个有查看所有库及表权限的用户-lj2
grant 权限 on 权限范围 to “用户名”@“主机名” identified by “密码”;
mysql> grant select on *.* to "lj2"@"localhost" identified by "lijian";
Query OK, 0 rows affected, 1 warning (0.00 sec)
​
3.查看系统的用户
mysql> select user,host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| root          | %         |
| lj2           | localhost |
| mysql.session | localhost |
| mysql.sys     | localhost |
+---------------+-----------+
4 rows in set (0.00 sec)
​
4.刷新系统表
mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec)
​
mysql> exit;
Bye
​
5.使用新用户的登陆
C:\Users\24575>mysql -ulj2 -plijian 
​
mysql: [Warning] Using a password on the command line interface can beinsecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 25
Server version: 5.7.28 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
​
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| fk_table_lls |
| mysql |
| performance_schema |
| sys |
| table_lls_test |
| test |
+--------------------+
7 rows in set (0.00 sec)
​
mysql> use test;
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| tb_dept |
| tb_employee |
| user |
+----------------+
3 rows in set (0.00 sec)
​
mysql> select * from user;
+---------+-----------+----------+
| user_id | username | password |
+---------+-----------+----------+
| 1      | lijian     | 111 |
| 2      | lijian     | 111 |
| 1000   | lijian111  | 111 |
| 1001   | lijian     | 111 |
| 1002   | zhang3     | 111 |
| 1003   | lisi       | 111 |
| 1004   | wangwu     | 111 |
| 1005   | wangwu     | 111 |
| 1006   | zhao6      | 222 |
| 1007   | lijian     | 111 |
| 1008   | lijian2    | 111111 |
+---------+-----------+----------+
11 rows in set (0.00 sec)
​
6.插入数据失败,没有权限
mysql> insert into user values(null,"lijian2222","1111111"); 
ERROR 1142 (42000): INSERT command denied to user 'lj2'@'localhost' for table
'user'
​
mysql> exit
Bye
​
C:\Users\24575>mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can beinsecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 26
Server version: 5.7.28 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
​
7.创建一个只能查看test库下所有表的用户lj3
mysql> grant select on test.* to "lj3"@"localhost" identified by "lijian";
Query OK, 0 rows affected, 1 warning (0.00 sec)
​
mysql> flush privileges; -- 属性系统表
Query OK, 0 rows affected (0.00 sec)
​
mysql> exit
Bye
​
8.使用新用户登录
C:\Users\24575>mysql -ulj3 -plijian 
mysql: [Warning] Using a password on the command line interface can be
insecure.

http://www.mrgr.cn/news/93556.html

相关文章:

  • 从0开始的操作系统手搓教程25:使用环状缓冲区来让我们的键盘驱动真正的有作用起来
  • 200W数据去重入库的几种方法及优缺点
  • STM32-I2C通信协议
  • Browser Use+DeepSeek的使用教程
  • LTC6804、LTC6811、LTC6813的使用
  • Linux 软硬链接
  • 音视频入门基础:RTP专题(14)——FFmpeg源码中,对H.264的各种RTP有效载荷结构的解析
  • python从入门到精通(二十四):python爬虫实现登录功能
  • 996引擎-问题处理:实现自定义道具变身卡
  • 【C++ 函数重载】—— 现代编译技术下的多态表达与性能优化
  • ubuntu22.04机器人开发环境配置
  • Elasticsearch 2025/3/7
  • 记录片《遇见大连》
  • LeetCode 哈希章节
  • window系统中的start命令详解
  • 网络编程-----服务器(多路复用IO 和 TCP并发模型)
  • Vue Hooks 深度解析:从原理到实践
  • STM32之软件SPI
  • Windows 内网渗透:名称解析协议与Responder欺骗
  • Zabbix 安装部署