这篇文章主要为大家展示了“MySQL中安全设置的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中安全设置的示例分析”这篇文章吧。MySQL 安全设置
服务器启动后,可以执行
mysql_secure_installation; 此时输入 root 原始密码(初始化安装的话为空),接下来,为了安全,MySQL 会提示你重置 root 密码,移除其他用户账号,禁用 root 远程登录,移除 test 数据库,重新加载 privilege 表格等,你只需输入 y 继续执行即可。
运行mysql_secure_installati免费主机域名on会执行几个设置:
a)为root用户设置密码
b)删除匿名账号
c)取消root用户远程登录
d)删除test库和对test库的访问权限
e)刷新授权表使修改生效 绑定IP
–bind-address=IP 1.修改root用户密码 可以通过mysql_secure_installation完成2.正确授权 mysql库中有4张权限表,user、db、tables_priv、columns_priv,分别对应用户密码、用户对数据库的权限、对表的权限、对列的权限。 当一个用户向MySQL发起请求时,首先会从user表中验证host、user、password,然后依次验证db、tables_priv、columns_priv,验证过程中,如果db表中对应的权限为Y,则用户对某个库的权限全为Y,将不再验证tables_priv和columns_priv。 对于MySQL中的账户权限相关的安全配置,总结如下:
针对每个网站建立单独免费主机域名的账户
为每个网站家里专属数据库
按照user->db->tables_priv->columns_pri的顺序进行细粒度的权限控制
为每个用户单独配置一个专属数据库,保证当前的用户所有操作只能发生在自己的数据库中,防止SQL注入发生后,黑客通过注入访问到系统表。 3.MySQL网络安全配置
禁止root用户远程登陆
防火墙设置
更改默认端口,可以一定程度上防止端口扫描工具扫描
限制单个用户的连接数量: max_user_connections 20 4.文件权限及文件安全
使用非root用户启动MySQL服务
限制启动MySQL的用户的文件权限,同时保证用户对MySQL的数据文件有读写权限 可以使用chroot更改根目录,防止非root用户访问到一些敏感文件,比如:/etc/passwd不要给非root用授予process和super权限,mysqladmin processlist 和show processlist命令会查看到任何用户执行的命令,这可能看到其他用户执行的update user set passoword=…;命令,supper权限可以终止会话,更改系统参数等不要对表的使用软连接(–skip-symbolic-links参数用来禁用这一功能),表的软连接接只有MyISAM支持,因为开启表的软连接后(尤其时对于使用系统root用户启动的MySQL服务),MySQL用户就可以使用mysqld来删除、重命名数据文件所在的位置以外的文件了。如果plugin文件夹可以被MySQL Server写,那么用户就可以使用select … into
dumpfile 命令把可以执行代码写入到里面,可以通过把plugin_dir参数对应的路径设为只读以及调整–secure-file-priv参数来提高安全性不要给非root用户授予文件的读写权限,防止使用load data local infile 来提取本地文件(比如/etc/passwd里的信息,会对系统安全造成威胁)
[mysqld]
local-infile=0 5.如果有必要,可以删除~/.bash_history 文件,防止读取历史命令#rm .bash_history
.mysql_history
#ln -s /dev/null .bash_history
#ln -s /dev/null .mysql_history 以上是“MySQL中安全设置的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云技术行业资讯频道!
这篇文章将为大家详细讲解有关MySQL出错代码有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 MySQL出错代码列表(转)[@more@]1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失…