Linux运维 第四阶段 (五) MySQL用户和权限管理

Linux运维 第四阶段 (四)MySQL用户和权限管理

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 [email protected]’%’;  (当无法判断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改回原来状态,重启服务即可)。

本篇是学习《马哥网络视频》做的笔记。

时间: 2024-10-26 15:34:55

Linux运维 第四阶段 (五) MySQL用户和权限管理的相关文章

Linux运维课程 第一阶段 重难点摘要(五)CISCO

Linux运维课程第一阶段重难点摘要(五)CISCO 一.高级路由管理 1.        路由:数据包从一台设备通过网络发往另一台不同网络中的设备,路由器不关心这些主机,它们只关心网络和通向每个网络的最佳路径.目的主机的IP地址用来保证数据包可以通过路由到达目的网络,而主机的MAC地址用于将数据包从路由器投递到目的主机. 静态路由:由管理员手动输入到路由表中的路由:不占用带宽,不会随着网络拓扑的变化而变化,缺少灵活性: 动态路由:通过动态学习得到路由:占用网络带宽和CPU资源:会随着网络拓扑的

Linux运维课程 第一阶段 重难点摘要(四)CISCO

Linux运维课程第一阶段重难点摘要(四)CISCO 一.路由器接口操作: 1.#show running-config  查看接口 2.#interface fastethernet 0/1      进入f0/1配置(0/1,0代表插槽1代表端口.若是s0/0/0,第一个0表示路由器本身) 3.#interface fastEthernet 0/1 #description tachingroute    接口描述 4.#do show running-config         do 

Linux运维 第三阶段 (十七) memcached

一.相关概念: memcached.org(live journal站点贡献的),很多流行站点都在用,如wikipedia.twitter.youtube.mixi等,memcached是非常流行的缓存服务,众多的应用程序开发基本都支持memcached缓存(C有C库,C++有C++库,php有php库,开发时都可直接调用memcached功能,若某个应用程序开发时不用memcached,它就不能往memcached中缓存数据,缓存数据与否取决于app自身,由app决定缓不缓存用不用它) mem

Linux运维 第三阶段 (二十) tomcat

一.相关概念(1.编程语言:2.servlet.jsp:3.tomcat): tomcat(app-server server) 为提高tomcat工作性能,前端要引入很多组件(如cache server(varnish)同样对它生效) 1.编程语言: php相关框架.网站程序设计涉及到的基本内容: php: 开发语言,脚本语言,动态语言: 安装的php是个运行环境: 用php开发语言开发网站程序,这个程序在运行环境中解释执行,若每条指令都解释执行.每个用户请求的动态内容都解释执行这将非常慢:在

Linux运维 第三阶段 (十九) varnish(1)

Linux运维 第三阶段 (十九) varnish 一.相关概念: http/1.0-->http/1.1(重大改进:对缓存功能实现了更精细化的设计) RFC(request file comment,每一种协议都有请求注解文档,讲协议规范) http页面由众多的web object组成,有些是静态,有些是通过程序执行后生成的:为加速web的访问,browser中引入了缓存机制,能将访问的静态内容或可缓存的动态内容缓存到本地,而后client再次到原始server上请求之前相同的内容时,如果原始

Linux运维 第三阶段 (十三)nss&pam

Linux运维第三阶段(十三)nss&pam 一.nss(network service switch网络服务转换) authentication(认证,决定用户的用户名和密码是否能通过检验) authorization(授权,决定用户是否能访问某服务) audition(审计) username-->UID groupname-->GID http-->80port FQDN-->IP(hosts文件,DNS,mysql,NIS(networkinformation se

Linux运维 第三阶段 (十一)iptables

Linux运维第三阶段(十一)iptables iptables linux防火墙:netfilter(框架framework):iptables(生成防火墙规则并将其附加在netfilter上,真正实现数据报文过滤.NAT.mangle等规则生成的工具):真正起作用的是规则,规则放在netfilter上才能生效 网络防火墙的功能根据TCP/IP首部实现的 IP报文(见文末附图): fragment ID(段标识) MF(more fragment) DF(don't fragment,单个报文

Linux运维 第三阶段 (六) 搭建LAMP环境

Linux运维 第三阶段(六) 搭建LAMP环境 环境:RHEL6 X386或X86_64,其中64位在此文中已用()标明注意事项. 一.准备工作 1.安装编译工具gcc.gcc-c++ 注意解决依赖关系,推荐使用yum安装,若不能联网可使用安装光盘做为yum源-- # yum -y install gcc # yum -y install gcc-c++ 2.关闭系统RPM安装包的Apache.MySQL的服务 关闭启动的服务httpd.mysqld #service httpd stop #

Linux运维 第三阶段 (七) NFS

Linux运维 第三阶段 (七) NFS配置 1,服务器端软件:安装nfs-utils和portmap(rpcbind)nfs-utils: 提供rpc.nfsd 及 rpc.mountd这两个NFS DAEMONS的套件 portmap: NFS其实可以被看作是一个RPC SERVER PROGRAM,而要启动一个RPC SERVER PROGRAM,都要做好PORT的对应工作,而且这样的任务就是由PORTMAP来完成的.通俗的说PortMap就是用来做PORT的mapping 的.NFS需要