当前位置:Gxlcms > 数据库问题 > mysql用户权限管理

mysql用户权限管理

时间:2021-07-01 10:21:17 帮助过:2人阅读

create view创建视图show view查看视图create routine创建存储过程alter routine修改存储过程event事务管理,相当于unix系统中的cron任务,通过mysq.event表中设定定时任务trigger触发器

如果是普通用户一般都是给一些基本的增删改查的权限就够了,平时管理一般就用以下权限:

mysql> SELECT DISTINCT CONCAT(‘User: ‘‘‘,user,‘‘‘@‘‘‘,host,‘‘‘;‘) AS query FROM mysql.user;
#查所有用户,授予哪个主机的权限,CONCAT整理下查看时会比较清晰直观
mysql> show grants for ‘root‘@‘127.0.0.1‘;
#用于查看用名对应主机下的权限
mysql> grant all *.* to ‘test‘@‘127.0.0.1‘ identified by "youpasswd";
#授予test在127.0.0.1下所有库的所有权限登录密码youpasswd,这个如果这个用户没有被创建会隐式
creat用户,这里要注意的是普通用户给这个权限肯定不行,权限太高,比如当前库下有一个daemon库,
给test基本权限,如
CREATE USER ‘test‘@‘127.0.0.1‘ IDENTIFIED BY "youpasswd";
GRANT SELECT, INSERT, UPDATE, DELETE ON `daemon`.* TO ‘test‘@‘127.0.0.1‘;
#在这里可以creat创建后再限定权限,当然也可以写
GRANT SELECT, INSERT, UPDATE, DELETE ON `daemon`.* TO ‘test‘@‘127.0.0.1‘ IDENTIFIED BY "youpasswd";
#当然这里都是给固定主机的权限,也可以给某个地址段,如10.0.%,或者是任意ip即%,当然在实际生产环境
中这样是不允许的
REVOKE INSERT ON `daemon`.* FROM ‘test‘@‘127.0.0.1‘;
#移除权限
drop user test@127.0.0.1;
#删除用户
#以上的的操作都会隐式FLUSH PRIVILEGES刷新授权表
UPDATE user SET Password = PASSWORD(‘newpasswd‘) WHERE user = ‘test‘;
FLUSH PRIVILEGES;
#利用update跟新test密码,需要FLUSH PRIVILEGES刷新授权表
select password(‘newpasswd‘);
#生成依赖于mysql的哈希加密的密码,多用于程序内部使用mysql给权限时使用

   基本,在平时管理mysql用户权限里大概使用的就是这么多,还有要注意的是在给主机权限的时候要注意2点:能使用内网就一定要内网;要尽量避免使用用域名,能用ip就用ip,以免mysql中DNS反解析,可以在启动时使用

/usr/local/mysql/bin/mysqld_safe --skip-name-resolve --user=mysql&
添加--skip-name-resolve参数,当然最好是在my.cnf或者是my.ini中加skip-name-resolve参数


本文出自 “技术随笔” 博客,谢绝转载!

mysql用户权限管理

标签:mysql   权限   

人气教程排行