欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【滚开!别动我的数据库 MYSQL数据安全】,下面是详细的分享!
滚开!别动我的数据库 MYSQL数据安全
当你连接一个MySQL服务器时,你通常应该使用一个口令。口令不以明文在连接上传输。所有其它信息作为能被任何人读懂的文本被传输。如果你担心这个,你可使用压缩协议(MySQL3.22和以上版本)使事情变得更难。甚至为了使一切更安全,你应该安装ssh。用它,你能在一个MySQL服务器与一个MySQL客户之间得到一个加密的tcp/ip连接。
为了使一个MySQL系统安全,强烈要求你考虑下列建议:
对所有MySQL用户使用口令。记住,如果other_user没有口令,任何人能简单地用MySQL -u other_user db_name作为任何其它的人登录。对客户机/服务器应用程序,客户可以指定任何用户名是常见的做法。在你运行它以前,你可以通过编辑MySQL_install_db脚本改变所有用户的口令,或仅仅MySQL root的口令像这样:
|
shell>mysql-urootmysqlmysql>updateuser |
如果你把一个Unix root用户口令放在mysql.server脚本中,确保这个脚本只能对root是可读的。
检查那个运行Mysqld的Unix用户是唯一的在数据库目录下有读/写权限的用户。
不要把process权限给所有用户。mysqladmin processlist的输出显示出当前执行的查询正文,如果另外的用户发出一个update user set password=password("not_secure")查询,被允许执行那个命令的任何用户可能看得到。mysqld为有process权限的用户保留一个额外的连接, 以便一个mysql root用户能登录并检查,即使所有的正常连接在使用。不要把file权限给所有的用户。
有这权限的任何用户能在拥有mysqld守护进程权限的文件系统那里写一个文件!为了使这更安全一些,用select ... into outfile生成的所有文件对每个人是可读的,并且你不能覆盖已经存在的文件。
file权限也可以被用来读取任何作为运行服务器的unix用户可存取的文件。这可能被滥用,例如,通过使用load data装载“/etc/passwd”进一个数据库表,然后它能用select被读入。
如果你不信任你的dns,你应该在授权表中使用IP数字而不是主机名。原则上讲,--secure选项对mysqld应该使主机名更安全。在任何情况下,你应该非常小心地使用包含通配符的主机名。
以上所分享的是关于滚开!别动我的数据库 MYSQL数据安全,下面是编辑为你推荐的有价值的用户互动:
相关问题:MySQL中提示说我没有选择数据库
答:use biscdb insert into tenantalarminfo('TenantAlarmInfoId','TenantId','Time','Type','Area','Status', 'OperateStatus','Operator','OperateTime','CreateBy','CreateDate', 'LastEditBy','LastEditDate','DeleteStatus') values ('3','30'... >>详细
相关问题:我想把表单里的数据插入mysql数据库,要过滤哪些不...
答:防止sql注入可以分为过滤输入(对输入的数据进行过滤)和转义输出(对发送 >>详细
相关问题:MySQL数据库安全需要注意几点
答:你好!需要注意以下几个方面: 1.如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就需要使用SSH隧道来加密该连接的通信。 2.用set password语句来修改用户的密码,三个步骤 “先mysql -u root登陆数据库系统” 然后“mysql> update ... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
