控制开发者权限只给DELETE, INSERT,UPDADE,SELECT,
excute, create routine
不让开发瞎鸡巴搞(我是开发)
不给开发更改存储过程权限
线上最小权限
任何变更是dba需要知道
load date in file 权限生产环境应该避免掉,包括自己的账号,
为什么要用mysql一个无效的用户来跑mysqld呢,
因为早些年出现好多人利用load data把/etc/passwd加载到数据库拿到password 暴力破解
现在不存在了
现在password放到好像是shadow里拿不到
有这个权限也很悲剧
可以通过select into 一个 file 创建一个shell 给系统创建一个账号
所以需要注意
drop权限也要注意 避免被sql入侵把表drop掉
lock tables 一般情况下不建议开发在程序中使用 酌情考虑
GRANT OPTION
给了一个给别人授权的权限
show grants for 'root'@'localhost';
PROCESS
show processlist; 显示有哪些线程在运行
RELOAD
数据库重新加载
flush tables; flush logs; flush开头的
replication client VS replication slave (虽然这里我还不懂)
replicaation client
show master status;
show slave status;
replication slave复制传输用的
SHUTDOWN
mysql_multi里面配置的user 需要给配置这个
SUPER
当所有连接占完了会给SUPER权限保留连接
ALL
all 是除了grant option 之外的权限
USAGE 只能连上 啥也干不了
mysql 5.6 引入了一个proxy user
但要买官方的插件
select user,host,password from mysql.user;
mysql.db
我们测试库里mysql.columns_priv里数据貌似是空的
keepalived 密码是8个字符
mysql 用户名是16个字符以下
超过了会造成内存溢出
'leokim'@'192.168.11.%'
mysql -S /path/mysql.sock -uwubx
mysql -h192.168.11.20 -uwubx -p
client:192.168.11.100
server 192.168.11.20
mysql -h192.168.11.20 -uwubx -p 这个时候用哪个密码呢?
匹配原则按最精确的情况匹配(wubxwubx)
drop user 'wubx'@'192.168.11.%';
云类的数据库对资源限制
每小时允许做多少次query,update等
max_user_connections
max_connections=1100
max_user_connections=500
控制连接数
忘记root密码怎么处理
核心是让mysqld重新加载一下权限表
kill -SIGHUP
mysql 5.6可以让一个密码过期
mysql 5.6以后的客户端
可以让密码过期 直接登录 修改密码
show grants for 'wubx'@'localhost';
mysql手册第5,6章很值得看
可以用iptables
在数据库里
grant usage on *.* to 'admin'@'192.168.10.15' identified by 'wubxwubx';
information_schema.processlist
找到ip干掉