浅析MySQL数据库受权原则[MySQL防范]
本文“浅析MySQL数据库受权原则[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
MySQL是一个跨平台的开源关系型数据库管理系统,是我们常用的最经济实惠的数据库,由于其体积小、速度快、总体拥有本钱低,特别是开放源码这一特点,更让用户得到最实在的实在,很多用户在利用中对受权原则不是很了理解,下面我们就为大家来解析.
服务器重新启动的情形
当mysqld启动时,全部的受权表内容被读进存储器并且从当时开始见效.
被服务器当即利用的情形
用GRANT、REVOKE或SET PASSWORD对受权表施行的改正会当即被服务器注意到.
直接改正受权表的情形
假如你手工地改正受权表(利用INSERT、UPDATE等等),你应当履行一个FLUSH PRIVILEGES语句或运行mysqladmin flush-privileges奉告服务器再装载受权表,不然你的改变将不见效,除非你重启服务器.
对现有客户衔接的影响情形
当服务器注意到受权表被改变了时,现存的客户衔接有以下影响:
·表和列权限在客户的下一次恳求时见效.
·数据库权限改变在下一个USE db_name号令见效.
·全局权限的改变和口令改变在下一次客户衔接时见效.
受权原则
无论怎么当心都不免在给用户受权时留有漏洞,但愿下面的内容能给你一些帮忙,你普通应当服从这些法则.
只有root用户拥有受权表的改写权
不要把受权表的改写权授与除root用户之外的别的用户(当然,假如你可以用另一个用户替换root用户举行管理,以增添安全性).因为这样,用户可以通过改写受权表而推翻现有的权限.产生安全漏洞.
普通情形下,你大概不会犯这个错误,但是在安装新的分发, 初始受权表之后.这个漏洞是存在的,假如你不理解这时受权表的内容你大概会出错误.
在Unix(Linux)上,在按照手册的指令安装好MySQL后,你必须运行mysql_install_db脚本成立包含受权表的mysql数据库和初始权限.在Windows上,运行分发中的Setup程序初始化数据目录和mysql数据库.假定服务器也在运行.
当你第一次在机械上安装MySQL时,mysql数据库中的受权表是这样初始化的:
·你可以从本地主机(localhost)上以root衔接而不指定口令.root用户拥有全部权限(包含管理权限)并可做任何事情.(趁便阐明,MySQL超级用户与Unix超级用户有相同的名字,他们彼此毫无关系.)
·匿名拜候被授与用户可从本地衔接名为test和任何名字以test_开始的数据库.匿名用户可对数据库做任何事情,但无管理权限.
普通地,倡议你删除匿名用户记录:
mysql> DELETE FROM user WHERE User="";
更进一步,同时删除其他受权表中的任何匿名用户,有User列的表有db、tables_priv和columns_priv.
别的要给root用户设置密码.
关于用户、口令及主机的设置
·对全部MySQL用户利用口令.
记着,假如other_user没有口令,任何人能简单地用mysql -u other_user db_name作为任何别的的人登录.对客户机/服务器利用程序,客户可以指定任何用户名是常见的做法.在你运行它从前,你可以通过编辑mysql_install_db脚本改变全部用户的口令,或仅仅MySQL root的口令,象这样:
shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('new_password')
-> WHERE user='root';
mysql> FLUSH PRIVILEGES;
以上是“浅析MySQL数据库受权原则[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |