欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > MySQL------存储引擎和用户和授权

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

2025/3/12 21:31:33 来源:https://blog.csdn.net/m0_75167824/article/details/146108393  浏览:    关键词: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.

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词