mysql 23-3day 数据库授权(DCL)

发布时间:2023年12月21日

创建一个用户 并授权(grant)

mysql 用户名分为两部分
root@localhost

grant all on *.* to "remote"@"%" identified by "123";
参数解释
all 是权限
*.*  --所有库 当然这里 也是可以指定库
"remote"@"%"  //创建remote 用户 % 可以在任何地址
identified by "123"  //设置这个密码

# 设置某个网段
grant all on *.* to "remote"@"10.12.155.%" identified by "123";
"remote"@"10.12.155.%"  //设置了某个网段

root 用户 不能远程登录 因为root用户不是用来工作的只是用来授权的
只能本地登录

设置最大连接数

编辑这个文件
vim /etc/my.cnf

在文件中写入
max_connections=2

客户端链接服务器

客户端语法:mysql  -u用户名  -p密码  -hip地址   -P端口号:如果没有改端口号就不用-P指定端口
# mysql -h192.168.62.148 -P 3306 -uroot -p123

创建用户

    mysql> create user '用户名'@'客户端来源IP地址' identified by '密码';
    mysql> create user newrain@'192.168.62.%' identified by '123';

删除用户

    mysql> drop user '用户名'@'客户端来源IP地址';
    mysql> drop user newrain@'192.168.62.%';

修改用户

    mysql> rename user '用户名'@'客户端来源IP地址' to '新用户名'@'客户端来源IP地址' ;
    mysql> rename user newrain@'192.168.62.%' to ehome@'%';

修改密码

// 第一种方法:
    set password for '用户名'@'IP地址'=Password('新密码')
	mysql> set password for ehome@'%'=Password('123');
	
    // 第二种方法:
    alter user '用户名'@'客户端来源IP地址' identified by '新密码';

   // 第三种方法(忘记密码时,必须使用此方法修改密码):
    UPDATE mysql.user SET authentication_string=password('QFedu123!') WHERE user='root' and host='localhost';

root修改自己密码

 mysqladmin -uroot -p'123' password 'new_password'	    //123为旧密码
 #实例
 mysqladmin -uroot -p'123' password 'qf@123';

授予 mysql 权限

GRANT SELECT, INSERT, UPDATE ON database.* TO 'username'@'localhost' IDENTIFIED BY 'password';

权限类型============================================
SELECT:允许用户查询表中的数据。
INSERT:允许用户向表中插入新的行。
UPDATE:允许用户更新表中现有的行。
DELETE:允许用户删除表中的行。
CREATE:允许用户创建新的数据库或表。
DROP:允许用户删除数据库或表。
ALL PRIVILEGES:允许用户对数据库执行任何操作。

收回权限

revoke delete on *.* fromm "idol"@"%" 

#查看用户权限
show grants for '用户'@'客户端来源IP地址';  
show grants for ehome@'%';


#针对所有库 和表的权限
*.*

收回权限

revoke delete on *.* fromm "idol"@"%" 

#查看用户权限
show grants for '用户'@'客户端来源IP地址';  
show grants for ehome@'%';

*.*

刷新一下授权表

FLUSH PRIVILEGES;

mydql 知识点

确保 mysql 用户为普通用户

groupadd mysql

useradd -M -s /sbin/nologin -g mysql mysql
要创建一个普通 用户 确保数据库启动是用普通用户 启动的
端口 默认3306
开启 mysql 二进制日志,确保数据库 可以备份

删除空口令账号

mariadb 是有空口令库的
安装mariadb 
yum -y install mariadb  -server

安全建议

1、数据库不能暴露在公网
2、禁止root 用户远程登录,授权一个普通账号,指定一个具体IP,
3、修改端口
4、msyql 这个进程用 普通用户来启动
5、删除空口零账号
6、开启 binlog 二进制日志。给数据库 做一个备份

数据库优化:
设置最大连接数
选择合适的存储引擎,innodb
增加索引
记录它的慢日志


🌸🌸🌸🌸🌸🌸完结撒花🌸🌸🌸🌸🌸🌸
南湖花开绵绵,溪流行水潺潺
品水甜甜口中,花香留在心间

文章来源:https://blog.csdn.net/2301_79996063/article/details/135139295
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。