Linux运维 第四阶段 (五) MySQL用户和权限管理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux运维 第四阶段 (五) MySQL用户和权限管理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3384字,纯文字阅读大概需要5分钟。
内容图文
![Linux运维 第四阶段 (五) MySQL用户和权限管理](/upload/InfoBanner/zyjiaocheng/455/efee7f4d17f94a0eb27d74c3fd76cde6.jpg)
1、相关概念:
》mysql用户:
类似VSFTPD虚拟用户;
密码,自己独有的加密机制,PASSWORD函数;
用户名@主机;
用户名16字符以内,主机(主机名、IP、网络地址、通配符(%,_);
--skip-name-resolve(跳过名称解析,可提高用户连接速度)
账号是用来认证的;
>RENAME USER ‘old_name’@’host’ TO ‘new_name’@’host; (重命名用户)
》权限,授权后才能访问表(数据);
mysql自身库中的表:user,db,host,tables_priv,columns_priv,procs_priv:
user:user account,global privileges and other non-privileges column; 全局级别(SUPER,REPLICATION SLAVE,SHUTDOWN)
db:database-levelprivileges 库级权限
host:obsolete 已废弃
tables-priv:table-level privileges 表级权限(DELETE,ALTER,TRIGGER,SELECT,INSERT,UPDATE)
columns_priv:column-level privileges 列级别权限(SELECT,INSERT,UPDATE)
procs_priv:stored procedure andfunction privileges 存储过程和存储函数权限
proxies_priv:proxy-user privileges 代理用户权限
mysql在启动时会读取这六张表,并在内存中生成授权表,且每执行一个SQL语句都要检查是否有权限读取或写入;
2、>SELECT * FROM db\G
>CREATE TEMPORARY TABLE tb_name; (临时表——内存表);
USAGE (仅用作连接mysql-server和一些简单命令的使用)
触发器trigger:主动数据库(在执行某些操作时,触发已定义好的语句,如日志记录)
>HELP CREATE USER (创建用户)
>CREATE USER ‘username’@’host’ [IDENTIFIED BY ‘new_pw’];
>FLUSH PRIVILEGES;
>HELP GRANT (给用户授权)
>GRANT privileges1,privileges2 ON [object_type] db_name.tb_name TO ‘username’@’host’ [IDENTIFIED BY ‘new_pw’] [REQUIRE NONE|ssl_option] [WITH with_option];
注:db_name.tb_name(priv_level):
*
*.*
db_name.*
db_name.tb_name
tb_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 同一个用户账号共连进多少次
例:>GRANT EXECUTE ON FUNCTION db.abc TO username@’%’; (当无法判断tb_name是什么对象时使用此项object_type,此例明确说明abc是函数,tb_name不一定都是表,也会是存储过程PROCEDURE和存储函数FUNCTION)
>GRANT UPDATE ON jiaowu.tutors TO ‘username’@’%’ REQUIRE SSL; (连接时必须要以SSL建立安全连接,还可以以X509方式)
>GRANT UPDATE(Age) ON jiaowu,stu TO ‘username’@’host’; (仅授权某字段)
>GRANT SUPER ON *.* TO ‘username’@’host’; (SUPER与WITH GRANTOPTION两项要慎重授权)
>SHOW GRANTS FOR ‘username’@’host’; (查看某用户权限,字段授权与库、表授权不在同一行)
>HELP REVOKE
>REVOKE priv1,priv2 ON db_name.tb_name FROM ‘user’@’host’;
3、重新找回管理员密码:
#service mysqld stop
#vim /etc/rc.d/init.d/mysqld
$bindir/mysqld_safe --skip-grant-tables --skip-networking --datadir="$datadir"--pid-file="$mysqld_pid……(添加--skip-grant-tables跳过授权表和--skip-networking禁止连接网络)
#service mysqld start
#mysql
>UPDATE mysql.user SET PASSWORD=PASSWORD(‘new_password’) WHERE User=’root’;
(仅能通过手动更改user表中内容,不能用SET及mysqladmin更改密码,因为授权表已跳过)
#service mysqld stop(停止服务将/etc/rc.d/init.d/mysqld改回原来状态,重启服务即可)。
本篇是学习《马哥网络视频》做的笔记。
本文出自 “Linux运维重难点学习笔记” 博客,谢绝转载!
Linux运维 第四阶段 (五) MySQL用户和权限管理
标签:linux运维
本文系统来源:http://jowin.blog.51cto.com/10090021/1683615
内容总结
以上是互联网集市为您收集整理的Linux运维 第四阶段 (五) MySQL用户和权限管理全部内容,希望文章能够帮你解决Linux运维 第四阶段 (五) MySQL用户和权限管理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。