【Mysql数据库从0到1】-入门基础篇--用户与权限管理

这篇具有很好参考价值的文章主要介绍了【Mysql数据库从0到1】-入门基础篇--用户与权限管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Mysql数据库从0到1】-入门基础篇--用户与权限管理

🔻一、Mysql 用户管理

Mysql 用户分为root用户和普通用户,其中root用户是数据库超级管理员,拥有所有权限(创建、删除、修改密码、授权等管理权限),普通用户只拥有被授予的权限。

Mysql数据库的安全性通过账户管理来保障。

1.1 🍃 Mysql服务器登录

🍀 简单使用

[root@db-server ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.32 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

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> use test01;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from tab1;
+------+--------+-------+
| id   | name   | class |
+------+--------+-------+
| 1001 | 曹操   | 1|
| 1002 | 张飞   | 1|
| 1003 | 项羽   | 3|
| 1004 | 刘备   | 2|
+------+--------+-------+
4 rows in set (0.00 sec)

mysql> 

🍀 复杂使用

#### mysql -h hostname|hostIP -P port -u username -p DatabaseName -e "sql语句";

[root@db-server ~]# mysql -h localhost -P 3306 -p test01 -e "select * from tab1";
Enter password: 
+------+--------+-------+
| id   | name   | class |
+------+--------+-------+
| 1001 | 曹操   | 1|
| 1002 | 张飞   | 1|
| 1003 | 项羽   | 3|
| 1004 | 刘备   | 2|
+------+--------+-------+
[root@db-server ~]# 

1.2 🍃 用户创建

推荐使用create user命令创建用户,Mysql 8.0 版本移除了password加密方法,不再推荐使用insertuser表直接添加用户。

创建用户时,必须拥有 create user 权限,新创建的用户只有登录权限。

#####语法#####
create user '用户名'@'用户地址' identified by '密码';

mysql> create user  liubei identified by 'Liubei@123456';   #默认host是 %
Query OK, 0 rows affected (0.01 sec)

####指定host创建用户####
mysql> create user  'liubei'@'localhost' identified by 'Liubei@123456';
Query OK, 0 rows affected (0.00 sec)
mysql> select host ,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | liubei           |
| %         | root             |
| %         | zyl              |
| localhost | liubei           |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
+-----------+------------------+
7 rows in set (0.00 sec)

mysql> 

用户名以username@hostname格式跟在create user子句之后。表user以host 和user为共同主键,可以创建同名用户(如:liubei)。

####新创建的用户只有登录权限####
mysql> show grants;
+--------------------------------------------+
| Grants for liubei@localhost                |
+--------------------------------------------+
| GRANT USAGE ON *.* TO `liubei`@`localhost` |
+--------------------------------------------+
1 row in set (0.00 sec)

mysql> 

1.3 🍃 用户修改

#####语法#####
update 表名 set user='新用户名' where user='旧用户名' and host='用户地址';

mysql> update mysql.user set user='liubei01' where user='liubei' and host='localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;    ###修改之后需要flush privileges 刷新权限。
Query OK, 0 rows affected (0.01 sec)

mysql> 

【Mysql数据库从0到1】-入门基础篇--用户与权限管理

1.4 🍃 用户删除

mysql数据库可以使用drop user 语句删除普通用户,也可在mysql.user表中删除用户。

💦 方式一、使用drop删除(推荐)

用户必须具备drop user权限,才能使用drop删除,可以同时删除多个用户,用户之间用逗号隔开:

####语法####
drop user 用户名[,用户名2] [,用户名3]...;
drop user '用户名'@'用户地址'

mysql> drop user liubei;  ###默认删除host 为%用户
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;  ###删除之后需要flush privileges 刷新权限。
Query OK, 0 rows affected (0.00 sec)

mysql> 

💦 方式二、使用delete删除(不推荐)

使用delete删除 ,会有残留信息,而drop user命令会删除用户及其对应权限,mysql.usermysql.db对应记录都会删除。

####语法####
delete from 表名 where user='用户名' and host='用户地址';

mysql> delete from mysql.user where user='liubei01' and host='loaclhost';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;  ###删除之后需要flush privileges 刷新权限。
Query OK, 0 rows affected (0.00 sec)

mysql> 

1.5 🍃 用户密码修改

⛳ 修改当前用户密码

查看当前登录mysql用户:

mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

mysql> 

适用于root用户修改自己密码,其他普通用户登录修改自己密码。

root用户具有数据库最高权限,所以必须保证root用户密码安全,推荐使用alter user 修改密码,也可使用set 语句修改,Mysql 8.0 版本移除了PASSWORD加密方法,不再推荐使用update语句直接操作user表修改密码(authentication_string 字段)。

 select host ,user ,authentication_string from user;  

【Mysql数据库从0到1】-入门基础篇--用户与权限管理

💦 方式一、使用alter user修改当前用户密码

####语法####
alter user user() identified by '新密码';

mysql> alter user user() identified by 'Zyl@123456'; ###当前root用户登录
Query OK, 0 rows affected (0.01 sec)

mysql> 

💦 方式二、使用set语句修改当前用户密码

####语法####
set password='新密码';

mysql> set password='Zyl@123456';  ###当前root用户登录
Query OK, 0 rows affected (0.01 sec)

mysql> 

⛳修改其他普通用户密码

其他用户密码,可以通过root用户修改,还可自己修改,同样使用alter user 修改密码,或者使用set 语句修改。

💦 方式一、使用alter user修改普通用户密码

####语法####
alter user 用户名@'用户地址' identified by '新密码';

mysql> alter user liubei01@'localhost' identified by 'Liubei@123456'; ###修改用户liubei01密码
Query OK, 0 rows affected (0.00 sec)

mysql> 

💦 方式二、使用set语句修改普通用户密码

####语法####
set password for '用户名'@'用户地址' ='新密码';

mysql> set password for 'liubei01'@'localhost' ='Liubei@123456';  ###修改用户liubei01密码
Query OK, 0 rows affected (0.01 sec)

mysql> 

💦 方式三、使用update语句修改普通用户密码

适用于Mysql 5.7 ,在Mysql 8.0中不再适用(会报错),Mysql 8.0 版本移除了password加密方法。

####语法#### 
update mysql.user set authentication_string =PASSWORD("新密码") where user ='用户名' and host='主机名';

mysql> update mysql.user set authentication_string =PASSWORD("Liubei@123456") where user ='liubei01' and host='localhost';

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '("Liubei@123456") where user ='liubei01' and host='localhost'' at line 1
mysql> 

1.6 🍃 用户密码管理

mysql密码管理只针对使用mysql授权插件的账号,插件有(mysql_native_password、sha256_password、caching_sha2_password)。

⛳ 密码过期—要求定期修改密码

密码过期策略可以是全局的,也可单独设置账号过期策略。过期策略可手动设置,也可建立自动过期策略。

💦 方式一、手动设置密码过期策略立即过期—某个账户

使用 alter user 用户名 password EXPIRE语句设置,用户可以正常登录,但无法查询,只有设置新密码后才能正常使用。

####语法####
alter user 用户名@'用户地址' password EXPIRE;  
alter user liubei01@'localhost' password EXPIRE;

mysql> alter user liubei01@'localhost' password EXPIRE; ###手动设置liubei01用户密码过期
Query OK, 0 rows affected (0.00 sec)

mysql> 

【Mysql数据库从0到1】-入门基础篇--用户与权限管理

💦 方式二、手动设置密码过期策略—全局

如果密码使用时间大于允许使用的时间,服务器会自动设置过期。

mysql 使用default_password_lifetime 系统变量建立全局密码过期策略。默认值为0–表示禁用密码过期,值为N—表示允许的密码生存周期,密码需要每隔N天修改。

🌿 1、使用sql语句更改default_password_lifetime 值,并持久化

 ## 建立全局密码过期策略,每隔180天过期
 
mysql> set persist default_password_lifetime = 180;  
Query OK, 0 rows affected (0.00 sec)

mysql> 

🌿 2、配置my.cnf文件

[mysqld]

## 建立全局密码过期策略,每隔180天过期 
persist default_password_lifetime = 180

💦 方式三、手动设置密码过期策略—指定时间过期

数据库用户账号可以沿用全局密码过期策略,也可单独设置,在create user 或者alter user 语句上加上PASSWORD EXPIRE 选项即可实现单独设置策略。

🍀 1、设置180天过期

#####语法#####
create user '用户名'@'用户地址' identified by '密码' PASSWORD EXPIRE interval 过期时间 day;

mysql> create user 'liubei02'@'localhost' identified by 'Liubei@123456' PASSWORD EXPIRE interval 180 day;
Query OK, 0 rows affected (0.00 sec)

mysql> 

#####语法#####
alter user '用户名'@'用户地址' PASSWORD EXPIRE interval 过期时间 day;

mysql> alter user 'liubei01'@'localhost' PASSWORD EXPIRE interval 180 day;
Query OK, 0 rows affected (0.00 sec)

mysql> 

🍀 2、设置永不过期

#####语法#####
create user '用户名'@'用户地址' identified by '密码' PASSWORD EXPIRE never;

mysql> create user 'liubei03'@'localhost' identified by 'Liubei@123456' PASSWORD EXPIRE never;
Query OK, 0 rows affected (0.00 sec)

mysql> 

#####语法#####
alter user '用户名'@'主机名' PASSWORD EXPIRE never;

mysql> alter user 'liubei03'@'localhost' PASSWORD EXPIRE never;
Query OK, 0 rows affected (0.00 sec)

mysql> 

🍀 3、沿用全局密码过期策略

#####语法#####
create user '用户名'@'用户地址' identified by '密码' PASSWORD EXPIRE default;

mysql> create user 'liubei04'@'localhost' identified by 'Liubei@123456' PASSWORD EXPIRE default;
Query OK, 0 rows affected (0.00 sec)


#####语法#####
alter user '用户名'@'用户地址' PASSWORD EXPIRE default;

mysql> alter user 'liubei04'@'localhost' PASSWORD EXPIRE default;
Query OK, 0 rows affected (0.00 sec)

mysql> 

⛳ 密码重用限制—不允许使用旧密码

重用策略基于密码的更改数量和使用时间,可以是全局的,也可以是单独的,mysql使用password_historypassword_reuse_interval 系统变量设置密码重用策略,可以在my.cnf 中配置维护,也可使用sql语句改变变量的值并持久化。

  • 如果账号密码限制基于密码的更改数量(password_history):新密码则不能从最近使用过的密码中选择。如:密码更改数量值为3,则新密码不能与最近3个相同。
  • 如果账号密码限制基于密码的使用时间(password_reuse_interval):新密码不能从归定时间选择,如:设置密码重用周期为180天,则新密码不能与最近180天内使用过的密码相同。

💦 方式一、手动设置密码重用策略—全局

🌿 1、使用sql语句

#####语法 不能使用最近5个使用过的密码#####
set persist password_history=数量值

mysql> set persist password_history=5;
Query OK, 0 rows affected (0.00 sec)

#####语法 不能使用最近180天使用过的密码#####
set password_reuse_interval=数量值

mysql> set password_reuse_interval=180;
Query OK, 0 rows affected (0.00 sec)

mysql> 

🌿 2、配置my.cnf文件

[mysqld]

## 不能使用最近5个使用过的密码
password_history=5

## 不能使用最近180天使用过的密码
password_reuse_interval=180

💦 方式二、手动设置密码重用策略—单独设置

#####语法 不能使用最近5个使用过的密码#####
create user '用户名'@'用户地址' identified by '密码' PASSWORD history 5;

mysql> create user 'liubei04'@'localhost' identified by 'Liubei@123456' PASSWORD history 5;
Query OK, 0 rows affected (0.00 sec)

#####语法 不能使用最近5个使用过的密码#####
mysql> alter user 'liubei04'@'localhost' PASSWORD history 5;
Query OK, 0 rows affected (0.00 sec)


#####语法 不能使用最近180天使用过的密码#####
create user '用户名'@'用户地址' identified by '密码' PASSWORD reuse inteval 时间值 day;

mysql> create user 'liubei04'@'localhost' identified by 'Liubei@123456' PASSWORD reuse interval 180 day;
Query OK, 0 rows affected (0.00 sec)

#####语法 不能使用最近180天使用过的密码#####
alter user 用户名'@'主机名'  PASSWORD reuse inteval 时间值 day;

mysql> alter user 'liubei04'@'localhost' PASSWORD reuse interval 180 day;
Query OK, 0 rows affected (0.00 sec)

⛳ 密码强度评估—要求使用高强度密码

查看密码强度相关的配置

mysql> show variables like '%validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)

mysql> 

validate_password.check_user_name=ON----检查密码与用户名

validate_password.policy----​用于检查密码 的字典文件的路径名

validate_password.length=8— 密码长度

validate_password.mixed_case_count=1----必须包含1个大写和1个小写

validate_password.number_count=1----必须包含1个数字

validate_password.special_char_count=1----必须包含1个特殊字符

🔻二、Mysql 权限管理

权限即是允许你做的事情,不可以越界,如只有本机登录权限,就不能从其他设备登录,只有select 权限,就不能updateinsert

2.1 🍃 mysql数据库权限列表

mysql> show privileges;
+------------------------------+---------------------------------------+-------------------------------------------------------+
| Privilege                    | Context                               | Comment                                               |
+------------------------------+---------------------------------------+-------------------------------------------------------+
| Alter                        | Tables                                | To alter the table                                    |
| Alter routine                | Functions,Procedures                  | To alter or drop stored functions/procedures          |
| Create                       | Databases,Tables,Indexes              | To create new databases and tables                    |
| Create routine               | Databases                             | To use CREATE FUNCTION/PROCEDURE                      |
| Create role                  | Server Admin                          | To create new roles                                   |
| Create temporary tables      | Databases                             | To use CREATE TEMPORARY TABLE                         |
| Create view                  | Tables                                | To create new views                                   |
| Create user                  | Server Admin                          | To create new users                                   |
| Delete                       | Tables                                | To delete existing rows                               |
| Drop                         | Databases,Tables                      | To drop databases, tables, and views                  |
| Drop role                    | Server Admin                          | To drop roles                                         |
| Event                        | Server Admin                          | To create, alter, drop and execute events             |
| Execute                      | Functions,Procedures                  | To execute stored routines                            |
| File                         | File access on server                 | To read and write files on the server                 |
| Grant option                 | Databases,Tables,Functions,Procedures | To give to other users those privileges you possess   |
| Index                        | Tables                                | To create or drop indexes                             |
...................................................

💦 mysql 权限分布:

权限分布 可设置权限
表级权限 Select、 Insert、 Update、 Delete、Create 、Drop、Grant、 References、 lndex、 Alter
列级权限 Select、 Insert、 Update、References
过程权限 Execute、Alter Routine、Grant

2.2 🍃 数据库授权原则

  • 💦 只赋予满足使用的最小权限,如某用户只需select权限,就不授予其他权限。
  • 💦 创建用户时,指定登录主机,一般限制指定ip 或者ip段
  • 💦 为用户设置满足密码复杂度的密码。
  • 💦 定期清理不使用的用户,回收权限或删除用户。

2.3 🍃 数据库授权

用户是数据库的使用者,可以给用户不同权限,控制对数据库的访问,保障数据库安全。

--- with grant option,表示该用户可以将自己的权限授权给别人。

##授权命令1##
grant 权限1,权限2,权限3,权限n on 数据库名称.表名 to '用户名'@'用户地址' with grant option;

##授权命令2 ##
grant all privileges on *.* to '用户名'@'用户地址' with grant option;

mysql> grant select ,update on test01.* to 'liubei'@'%';  ##授权liubei账号select ,update权限

Query OK, 0 rows affected (0.00 sec)

mysql> show grants;   ##查看当前登录用户权限
+----------------------------------------------------+
| Grants for liubei@%                                |
+----------------------------------------------------+
| GRANT USAGE ON *.* TO `liubei`@`%`                 |
| GRANT SELECT, UPDATE ON `test01`.* TO `liubei`@`%` |
+----------------------------------------------------+
2 rows in set (0.00 sec)

mysql> 

可以看到没授权liubei账户delete权限,删除数据报错。

【Mysql数据库从0到1】-入门基础篇--用户与权限管理

2.4 🍃 数据库查看权限

  • 查看当前用户权限:
mysql> show grants;
+----------------------------------------------------+
| Grants for liubei@%                                |
+----------------------------------------------------+
| GRANT USAGE ON *.* TO `liubei`@`%`                 |
| GRANT SELECT, UPDATE ON `test01`.* TO `liubei`@`%` |
+----------------------------------------------------+
2 rows in set (0.00 sec)

或
mysql> show grants for current_user;
+----------------------------------------------------+
| Grants for liubei@%                                |
+----------------------------------------------------+
| GRANT USAGE ON *.* TO `liubei`@`%`                 |
| GRANT SELECT, UPDATE ON `test01`.* TO `liubei`@`%` |
+----------------------------------------------------+
2 rows in set (0.00 sec)

或
mysql> show grants for current_user();
+----------------------------------------------------+
| Grants for liubei@%                                |
+----------------------------------------------------+
| GRANT USAGE ON *.* TO `liubei`@`%`                 |
| GRANT SELECT, UPDATE ON `test01`.* TO `liubei`@`%` |
+----------------------------------------------------+
2 rows in set (0.00 sec)
mysql>
  • 查看某用户全局权限:
mysql> show grants for 'liubei'@'%';
+----------------------------------------------------+
| Grants for liubei@%                                |
+----------------------------------------------------+
| GRANT USAGE ON *.* TO `liubei`@`%`                 |
| GRANT SELECT, UPDATE ON `test01`.* TO `liubei`@`%` |
+----------------------------------------------------+
2 rows in set (0.00 sec)

mysql> 

2.5 🍃 数据库收回权限

mysql 使用revoke 语句取消用户的某些权限,收回用户不必要的权限,可在一定程度上保证数据库的安全性。

从user表删除用户之前,应先收回想赢用户的权限。

#####语法1 ####
revoke 权限1,权限2,权限n on 数据库名.表名 from `用户名`@`用户地址`;

#####语法2 ####
revoke all privileges on *.* from '用户名'@'用户地址';

mysql> revoke SELECT, UPDATE ON test01.* from `liubei`@`%`;
Query OK, 0 rows affected (0.00 sec)

mysql> revoke all privileges on *.* from `liubei`@`%`;
Query OK, 0 rows affected (0.01 sec)
mysql> 

2.6 🍃 数据库权限表

mysql 服务器通过权限表来控制用户对数据库的访问,权限表存放于mysql表中,其中最重要的是user表,db表,table_priv表、column_priv 和proc_priv 等,启动mysql服务时,会将这些表中权限信息读入内存。

2.7 🍃 数据库访问控制

当mysql允许一个用户执行各种操作时,它将首先核实该用户向MySQL服务器发送的连接请求,然后确认用户的操作请求是否被允许。这个过程称为mysql中的访问控制过程。

mysql的访问控制分为两个阶段: 连接核实阶段和 请求核实阶段。
【Mysql数据库从0到1】-入门基础篇--用户与权限管理文章来源地址https://www.toymoban.com/news/detail-471666.html

🔻三、总结—温故知新

❓ Mysql 数据库用户创建、修改、删除、密码修改
❓ Mysql数据库权限查看、收回、及授权
❓ Mysql数据库权限表及访问控制

👈【上一篇】
💖The End💖 点点关注,收藏不迷路💖
【下一篇】👉

到了这里,关于【Mysql数据库从0到1】-入门基础篇--用户与权限管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • openGauss学习笔记-105 openGauss 数据库管理-管理用户及权限-默认权限机制

    数据库对象创建后,进行对象创建的用户就是该对象的所有者。openGauss安装后的默认情况下,未开启 三权分立 ,数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过 GRANT 将对象的

    2024年02月07日
    浏览(56)
  • Camunda8微服务流程引擎搭建实战 -- camunda-identity接入keycloak,使用mysql数据库以OpenID Connect的方式实现用户的权限管理

    准备需要: docker最新版,camunda官方建议使用容器且最好能使用k8s,而且jar包启动失败时不能停止 mysql8.0+,keycloak默认使用postgresql,我不会 提前启动好其他组件,es,tasklis,operate,zeebe,偷个懒,我使用的jar包运行,也可以容器 组件下载地址,版本8.3.4 因为容器通信的问题(应该是通信/网络的

    2024年01月19日
    浏览(54)
  • MariaDB 使用 root 账户管理数据库用户权限和远程登录权限设置

    MariaDB 使用 root 账户管理数据库用户权限和远程登录权限设置 作为一种流行的关系型数据库管理系统,MariaDB 提供了丰富的功能和灵活的权限控制机制。在本文中,我们将学习如何使用 root 账户来创建新用户,并为其分配特定的数据库权限和远程登录权限。 首先,我们需要使

    2024年01月23日
    浏览(51)
  • Day04 03-MySQL数据库的DCL(用户|权限|视图)

    第十二章 DCL 12.1 DCL的作用 DCL语句主要用来做用户的创建、管理,权限的授予、撤销等操作的。 12.2 管理用户 创建、删除用户的操作,必须要使用root用户才可以完成! 12.3 权限管理 如果在授权远程登录的时候,出现如下问题: Unable to load authentication plugin ‘caching_sha2_password’

    2024年02月07日
    浏览(60)
  • MySQL数据库用户管理

    primary key主键约束:字段的值不能重复,不能为null,一个表只能有一个主键 unique key唯一性约束:字段的值不能重复,能为null,一个表可有多个唯一键 not null非空约束:字段的值不能为null default默认值约束: 字段的值如果没有设置则使用默认值自动填充 auto_increment自增约束:

    2024年02月08日
    浏览(56)
  • Mysql数据库——用户管理与授权

    用户信息存放在 mysql 数据库下的 user 表(MySQL 服务下存在一个系统自带的 mysql 数据库)。 1.新建用户 2.查看用户信息 3.重命名用户 RENAME USER \\\'zhangsan\\\'@\\\'localhost\\\' TO \\\'lisi\\\'@\\\'localhost\\\'; 4.删除用户 DROP USER \\\'lisi\\\'@\\\'localhost\\\'; 5.修改当前登录用户密码 SET PASSWORD = PASSWORD(\\\'abc123\\\'); 6.修

    2024年02月09日
    浏览(52)
  • Mysql数据库表管理和用户管理与授权

    1)方式一:创建新表,导入数据  2)复制表(直接复制表不能保证原有的表结构)  创建方式与创建表完全一致,最大的区别是,临时表只在当前的数据库连接生效,当数据库连接断开或重新连接终端时,该临时表均失效,无法查看。 方式一:delete清空   方式二:truncat

    2024年02月09日
    浏览(49)
  • MySQL数据库、表、用户的基础操作

    根据两个实例进行练习 1)创建库 2)创建表 3)字段插入(调换位置) 4)修改字段类型 5)修改字段名 6)增加字段 7)修改表名(这一步做掉了,最后才添加上来。所以后面添加外键主表名依旧为customers。) 8)删除字段 9)修改存储引擎 2、 (1)创建表、添加外键约束 (2)删除外

    2024年02月12日
    浏览(45)
  • Mysql数据库中的用户管理与授权

    ddl: create drop alter dml:对数据进行管理update insert into delete truncate dql:查询语句 select dcl:权限控制语句grant revoke create user \\\'用户名\\\'@\\\'主机\\\' identified by \\\'密码\\\' 加密 SELECT PASSWORD(\\\'密码\\\'); #先获取加密的密码 CREATE USER \\\'lisi\\\'@\\\'localhost\\\' IDENTIFIED BY PASSWORD \\\'加密的密码\\\';  select user(); grant all

    2024年02月07日
    浏览(52)
  • postgresql|数据库|角色(用户)管理工作---授权和去权以及usage和select两种权限的区别

    postgresql做为一个比较复杂的关系型的重型数据库,不管是安装部署,还是后期的运行维护,都还是有比较多的细节问题需要引起关注。 例如,用户权限的合理分配,那么,什么是权限的合理分配呢? 自然是权限的最小化原则,也就是说每个用户能够完成其权限范围内的工作

    2024年02月13日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包