数据库权限是指控制数据库用户对数据库对象(如表、视图、存储过程等)进行操作的权限。数据库权限是数据库安全性的重要组成部分,通过对数据库用户进行权限控制,可以限制用户对敏感数据的访问和操作,保护数据库的安全性和完整性。
数据库权限通常分为以下几种类型:
1、数据库级别权限:控制用户对整个数据库的操作权限,如创建、删除、备份、还原等。
2、对象级别权限:控制用户对特定数据库对象(如表、视图、存储过程等)的操作权限,如查询、修改、删除、插入等。
3、列级别权限:控制用户对特定表的某些列的操作权限,如查询、更新等。
4、存储过程和函数权限:控制用户对存储过程和函数的执行权限。
数据库权限管理通常由数据库管理员进行,管理员可以通过授权、撤销授权等方式来管理用户的权限。在进行数据库权限管理时,需要根据业务需求和安全策略对不同用户进行不同的权限分配,以确保数据库的安全和完整性。
需要注意的是,数据库权限管理是一个持续的过程,需要不断进行维护和更新,以适应不同的业务需求和安全威胁。
新建用户
create user 'user'@'localhost' identified by '123456';
‘密码’:若使用明文密码,直接输入’密码’,插入到数据库时由Mysql自动加密;
若使用加密密码,需要先使用SELECT
PASSWORD(‘密码’);获取密文,
再在语句中添加PASSWORD ‘密文’;
若省略“IDENTIFIED BY"部分,则用户的密码将为空(不建议使用)
select user,host,authentication_string from user;
授权后可以登录
mysql -uuser -p123456
修改用户将user1改为hjp
rename user 'user1'@'localhost' to 'hjp'@'localhose';
删除用户
drop user ’user2'@'localhost';
select user,host,auothentication_string from user;
//查看user
修改密码
set password = password('abc123');
//将密码修改为abc123
修改其他用户密码
set password for 'user'@'localhost' = password('abc123');
//修改user密码123456改为abc123
格式:
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;
拥有所有权限
show grants for 'hjp'@'%';
撤销hjp所有权限
#USAGE权限只能用于数据库登陆,不能执行任何操作; USAGE权限不能被回收,即REVOKE不能删除用户
remove all on *.* from 'hjp'@'%';
可以看到只有用户权限
show grants for 'hjp'@'%';
set password = password('abc123');
//将密码修改为abc123
set password for 'user'@'localhost' = password('abc123');
//修改user密码123456改为abc123
进入/etc/my.cnf,添加一句命令,可以免密登录
vim /etc/my.cnf
//进入配置文件
增加下面一行
进入/etc/my.cnf删除
重启服务
systemctl restart mysqld
//重启数据库
修改密码为abc123
update mysql.user set authentication_string = password('abc123') where user='root';
进入/etc/my.cnf删除进入/etc/my.cnf删除
重启服务,使用abc123进入数据库
systemctl restart mysqld.service //重启mysql
mysql -uroot -pabc123 //使用修改的密码登录
格式:
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;
数据库权限管理通常由数据库管理员进行,管理员可以根据业务需求和安全策略对用户进行不同的权限分配,以确保数据库的安全和完整性。在进行数据库权限管理时,需要注意数据安全性,避免用户滥用或泄露敏感信息。在进行远程连接时需要保证网络连接的稳定和安全,避免非授权用户进行恶意访问和攻击。此外,为了保证数据安全性,应该使用安全加密通信协议(如SSL/TLS)进行数据传输。