|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你可以配置MySQL运行在微小的嵌入式应用程序中,处理的数据可能不足1Mb??而你也可以用它来处理数Tb的数据。MySQL获得这种可扩展性的路径之一是通过一个人们所熟知的存储过程,这是一个运行在程序之外的微型、预编译程序。 当你毗连一个MySQL服务器时,你一般应当利用一个口令。口令不以明文在毗连上传输。
一切别的信息作为能被任何人读懂的文本被传输。假如你忧虑这个,你可以使用紧缩协定(MySQL3.22和以上版本)使事变变得更难。乃至为了使统统更平安,你应当安装SSH。用它,你能在一个MySQL服务器与一个MySQL客户之间失掉一个加密的TCP/ip毗连。
为了使一个MySQL体系平安,激烈请求你思索以下倡议:
对一切MySQL用户利用口令。记着,假如other_user没有口令,任何人能复杂地用mysql-uother_userdb_name作为任何别的的人登录。对客户机/服务器使用程序,客户能够指定任何用户名是罕见的做法。在你运转它之前,你能够经由过程编纂mysql_install_db剧本改动一切用户的口令,或仅仅MySQLroot的口令,象如许:
shell>mysql-urootmysql
mysql>UPDATEuserSETPassWord=PASSWORD(new_password)
WHEREuser=root;
mysql>FLUSHPRIVILEGES;
不要作为Unix的root用户运转MySQL保卫历程。mysqld能以任何用户运转,你也能够制造一个新的Unix用户mysql使统统更平安。假如你作为别的Unix用户运转mysqld,你不必要改动在user表中的root用户名,由于MySQL用户名与Unix用户名不妨。你能够作为别的Unix用户编纂mysql.server启动剧本mysqld。一般这用su命令完成。关于更多的细节,见18.8如何作为一个一样平常用户运转MySQL。
假如你把一个Unixroot用户口令放在mysql.server剧本中,确保这个剧本只能对root是可读的。
反省谁人运转mysqld的Unix用户是独一的在数据库目次下有读/写权限的用户。
不要把process权限给一切用户。mysqladminprocesslist的输入显现出以后实行的查询注释,假如别的的用户收回一个UPDATEuserSETpassword=PASSWORD(not_secure)查询,被同意实行谁人命令的任何用户大概看失掉。mysqld为有process权限的用户保存一个分外的毗连,以便一个MySQLroot用户能登录并反省,即便一切的一般毗连在利用。
不要把file权限给一切的用户。
有这权限的任何用户能在具有mysqld保卫历程权限的文件体系那边写一个文件!为了使这更平安一些,用SELECT...INTOOUTFILE天生的一切文件对每一个人是可读的,而且你不克不及掩盖已存在的文件。
file权限也能够被用来读取任何作为运转服务器的Unix用户可存取的文件。这大概被滥用,比方,经由过程利用LOADDATA装载“/etc/passwd”进一个数据库表,然后它能用SELECT被读进。
假如你不信托你的DNS,你应当在受权表中利用IP数字而不是主机名。准绳上讲,--secure选项对mysqld应当使主机名更平安。在任何情形下,你应当十分当心地利用包括通配符的主机名。
只需每年花费2000到5000美元。无论你是自掏腰包来创建一个新兴公司,还是得到了风险投资商的赞助,使用MySQL都可以降低你所需要的人力成本。 |
|