MySQL数据库用户管理

MySQL数据库用户管理

  • 1、数据库权限
    • 1.1什么是数据库权限
    • 1.2数据库权限分类
    • 1.3用户管理
  • 2、用户授权
    • 2.1grant提权
    • 2.2查看权限
    • 2.3撤销权限
  • 3、修改密码
    • 3.1修改当前用户密码
    • 3.2修改其他用户密码
    • 3.3修改root密码
  • 4、远程登录
    • 4.1远程登录
    • 4.2软件远程登录
  • 5、总结

1、数据库权限

1.1什么是数据库权限

数据库权限是指控制数据库用户对数据库对象(如表、视图、存储过程等)进行操作的权限。数据库权限是数据库安全性的重要组成部分,通过对数据库用户进行权限控制,可以限制用户对敏感数据的访问和操作,保护数据库的安全性和完整性。

1.2数据库权限分类

数据库权限通常分为以下几种类型:

1、数据库级别权限:控制用户对整个数据库的操作权限,如创建、删除、备份、还原等。
2、对象级别权限:控制用户对特定数据库对象(如表、视图、存储过程等)的操作权限,如查询、修改、删除、插入等。
3、列级别权限:控制用户对特定表的某些列的操作权限,如查询、更新等。
4、存储过程和函数权限:控制用户对存储过程和函数的执行权限。

数据库权限管理通常由数据库管理员进行,管理员可以通过授权、撤销授权等方式来管理用户的权限。在进行数据库权限管理时,需要根据业务需求和安全策略对不同用户进行不同的权限分配,以确保数据库的安全和完整性。
需要注意的是,数据库权限管理是一个持续的过程,需要不断进行维护和更新,以适应不同的业务需求和安全威胁。

1.3用户管理

新建用户

create  user 'user'@'localhost' identified by '123456';

在这里插入图片描述

‘密码’:若使用明文密码,直接输入’密码’,插入到数据库时由Mysql自动加密;
若使用加密密码,需要先使用SELECT
PASSWORD(‘密码’);获取密文,
再在语句中添加PASSWORD ‘密文’;
若省略“IDENTIFIED BY"部分,则用户的密码将为空(不建议使用)

select user,host,authentication_string from user;

MySQL数据库用户管理_第1张图片

授权后可以登录

mysql -uuser -p123456

在这里插入图片描述

修改用户将user1改为hjp

rename user 'user1'@'localhost' to 'hjp'@'localhose';

MySQL数据库用户管理_第2张图片

删除用户

drop user ’user2'@'localhost';

在这里插入图片描述

 select  user,host,auothentication_string from user;
 //查看user

MySQL数据库用户管理_第3张图片

修改密码

set password = password('abc123');
//将密码修改为abc123

MySQL数据库用户管理_第4张图片

修改其他用户密码

set password for 'user'@'localhost' = password('abc123');
//修改user密码123456改为abc123

MySQL数据库用户管理_第5张图片

2、用户授权

2.1grant提权

格式:
GRANT 权限列表 ON 数据库名.表名 TO ‘用户名’@‘来源地址’ [IDENTIFIED BY ‘密码’];

grant all privileges on *.* to 'user'@'%' identified by '123456';

在这里插入图片描述

使用其他终端登录111的数据库

mysql -h 192.168.140..111 -p 3306 -u hjp -p123456;

MySQL数据库用户管理_第6张图片

拥有所有权限

MySQL数据库用户管理_第7张图片

2.2查看权限

show grants for 'hjp'@'%';

MySQL数据库用户管理_第8张图片

2.3撤销权限

撤销hjp所有权限
#USAGE权限只能用于数据库登陆,不能执行任何操作; USAGE权限不能被回收,即REVOKE不能删除用户

remove all on *.* from 'hjp'@'%';

MySQL数据库用户管理_第9张图片

可以看到只有用户权限

show grants for 'hjp'@'%';

MySQL数据库用户管理_第10张图片

3、修改密码

3.1修改当前用户密码

set password = password('abc123');
//将密码修改为abc123

在这里插入图片描述
MySQL数据库用户管理_第11张图片

3.2修改其他用户密码

set password for 'user'@'localhost' = password('abc123');
//修改user密码123456改为abc123

MySQL数据库用户管理_第12张图片

3.3修改root密码

进入/etc/my.cnf,添加一句命令,可以免密登录

vim /etc/my.cnf
//进入配置文件
增加下面一行
进入/etc/my.cnf删除

MySQL数据库用户管理_第13张图片

重启服务

 systemctl restart mysqld
 //重启数据库

在这里插入图片描述

修改密码为abc123

update mysql.user set authentication_string = password('abc123') where user='root';

MySQL数据库用户管理_第14张图片

进入/etc/my.cnf删除进入/etc/my.cnf删除

MySQL数据库用户管理_第15张图片

重启服务,使用abc123进入数据库

systemctl restart mysqld.service //重启mysql
mysql -uroot -pabc123  //使用修改的密码登录

MySQL数据库用户管理_第16张图片

4、远程登录

4.1远程登录

格式:
GRANT 权限列表 ON 数据库名.表名 TO ‘用户名’@‘来源地址’ [IDENTIFIED BY ‘密码’];

grant all privileges on *.* to 'user'@‘%’ identified by '123456';

在这里插入图片描述

使用其他终端登录111的数据库

 mysql -h 192.168.140..111 -p 3306 -u hjp -p123456;

MySQL数据库用户管理_第17张图片

4.2软件远程登录

Naicat
MySQL数据库用户管理_第18张图片

5、总结

数据库权限管理通常由数据库管理员进行,管理员可以根据业务需求和安全策略对用户进行不同的权限分配,以确保数据库的安全和完整性。在进行数据库权限管理时,需要注意数据安全性,避免用户滥用或泄露敏感信息。在进行远程连接时需要保证网络连接的稳定和安全,避免非授权用户进行恶意访问和攻击。此外,为了保证数据安全性,应该使用安全加密通信协议(如SSL/TLS)进行数据传输。

你可能感兴趣的:(数据库,mysql,oracle)