设为首页 收藏本站
查看: 543|回复: 0

[经验分享] MySQL用户和权限管理

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-6 08:46:26 | 显示全部楼层 |阅读模式
MySQL用户和权限管理

用户和权限管理

Information about account privileges is stored in the user, db, host, tables_priv, columns_priv, and procs_priv tables
in the mysql database.  The MySQL server reads the contents of these tables into memory when it
starts and reloads them under the circumstances. Access-control decisions are based on the
in-memory copies of the grant tables.

user: Contains user accounts, global privileges, and other non-privilege columns.
user: 用户帐号、全局权限

db: Contains database-level privileges.
db: 库级别权限

host: Obsolete.
host: 废弃

tables_priv: Contains table-level privileges.
表级别权限

columns_priv: Contains column-level privileges.
列级别权限

procs_priv: Contains stored procedure and function privileges.
存储过程和存储函数相关的权限

proxies_priv: Contains proxy-user privileges.
代理用户权限

用户帐号:
        用户名@主机
                用户名:16字符以内
                主机:
                        主机名:www.chen.com, mysql
                        IP: 192.168.0.99
                        网络地址:
                                192.168.0.0/255.255.255.0

                        通配符:%,_
                                192.168.0.%
                                %.chen.com

        --skip-name-resolve   略过名称解析

权限级别:
        全局级别: SUPER、
        库
        表: DELETE, ALTER, TRIGGER
        列: SELECT, INSERT, UPDATE
        存储过程和存储函数       

临时表:内存表
        heap: 16MB       
触发器:主动数据库
        INSERT, DELETE, UPDATE
                user: log       
1
2
创建用户:
CREATE USER username@host [IDENTIFIED BY 'password']



1
GRANT ALL PRIVILEGES ON [object_type] priv_level TO username@'%' [WITH with_option ...];



object_type:
    TABLE | FUNCTION | PROCEDURE       
priv_level:
    * | *.* | db_name.* | db_name.tbl_name | tbl_name | db_name.routine_name
with_option:
    GRANT OPTION                      可以将自己的权限授予给别人
  | MAX_QUERIES_PER_HOUR count        每小时最多允许发起多少次查询请求
  | MAX_UPDATES_PER_HOUR count        每小时最多允许发起多少次更新请求
  | MAX_CONNECTIONS_PER_HOUR count    每小时最多允许发起多少次连接请求
  | MAX_USER_CONNECTIONS count              每个用户最多允许同时连接几次
1
GRANT EXECUTE ON FUNCTION db.abc TO username@'%';



1
2
3

INSERT INTO mysql.user
mysql> FLUSH PRIVILEGES;



1
2
查看用户的授权信息:
SHOW GRANTS FOR 'username@host';



1
2
删除用户:
DROP USER 'username'@'host'



1
2
重命名用户:
RENAME USER old_name TO new_name



1
2
3
4
5
6
7
回收权限:
REVOKE
    priv_type [(column_list)]
      [, priv_type [(column_list)]] ...
    ON [object_type] priv_level
    FROM user [, user] ...
revoke select on chendb.* from chen@'%';





启动mysqld_safe时传递两个参数:
        --skip-grant-tables     跳过授权表
        --skip-networking       跳过从网络登录

        通过更新 授权表方式直接修改其密码,而后移除此两个选项重启服务器。


mysql用户都是保存在mysql.user中的(user表中有user,host,password等列)通过修改mysql.user可以实现用户控制
1
2
修改root密码
#mysqladmin -u root -hHOST -p password 'new password'



1
2
3
创建用户
登录:  #mysql -u root -p
创建用户: #create user 'your username'@'localhost' identified by 'your password';



1
2
授权:
GRANT privileges ON databasename.tablename TO 'username'@'host'  identified by 'password';



例:
1
#grant all on *.* to ‘your username’@'%';     *.*表示任意databasename.tablename




1
2
3
4
5
6
为用户设置密码:
1.mysql>SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
FLUSH PRIVILEGES; 重读授权表
例:
mysql>set password for 'your username'@'%'=password("newpassword");
2.mysql>UPDATE user SET password=PASSWORD('newpassword') WHERE user='USERNAME' AND host='HOST';






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-268260-1-1.html 上篇帖子: MYSQL IBDATA 下篇帖子: Mysql数据库按照varchar字符串类型排序和按照int整型类型排... 用户
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表