我正在PHP / MySQL中开发一个本地Intranet系统来pipe理我们的客户端数据。 看来最好的做法是在inputMYSQL服务器时encryption敏感数据。 但是,我不清楚,在保持数据可用的情况下,最好的办法是什么。 这似乎是一个棘手的问题来回答:密钥存储在哪里? 如何最好地保护钥匙? 如果密钥存储在每台用户的机器上,如果机器被利用,如何保护它? 如果密钥被利用,如何更改密钥? 如果关键是要存储在分贝,如何保护它呢? 用户将如何访问它? 如果有人能指出我正确的方向,或者给我一些提示,我会非常感激。 谢谢。
为了提高性能,我们有一些MySQL数据库服务器设置了基于行的复制。 软件写入主机,并从主机或从机读取。 一切都很好,大部分。 这是我的理解,MySQL将允许写入从属,即使它知道它是一个MySQL从属。 理想情况下,我想closures这个,所以即使有人写了一些错误的代码,得到一个读取连接,并执行UPDATE ,它会抛出一个错误,而不是把数据放在从属。 有没有办法在MySQL中做到这一点? 很显然,我们希望使我们的软件无法实现,但是就像我们服务器上的防火墙一样,我想尽可能防御。 谢谢!
我知道我可以encryption数据库的特定领域,但我有兴趣encryption数据库的每个领域。 我想确保没有人能够访问一个mysql shell但是没有解密密钥的访问者根本不能从数据库中读取任何东西。 我也想确定,如果有人能够访问本机,但没有解密密钥,他们将无法读取数据。 我应该怎么做? 这样做有意义吗? 我担心,如果有人访问MySQL数据库,他们不可避免地将有权访问密钥,所以这是没有意义的。 我错过了什么吗?
什么是安全的Linux,Apache,MySQL,PHP服务器(甚至是Perl)的生产使用程序? 除了设置Linux的MySQL密码和root密码外,还应该采取哪些其他步骤(可能不那么明显)? 如果我要变得更偏执,那么我可以采取哪些措施? 这是一个基本的单一网站使用,但必须是安全的。
在创buildInnoDB数据库之前,服务器或数据库pipe理员应该了解和做什么。 我正在考虑为innodb_buffer_pool_size和innodb_log_file_size设置正确的值 那么,你会忘记configuration什么简单的东西,会导致使用数据库的应用程序工作得更less?
我试图创build一个MySQL用户,只允许从一个特定的主机名连接到MySQL数据库。 将所有db_name。*授予'user_name'@appserver-lan.mydomain.com'由'some_passwd'标识 通过检查MySQL数据库中的用户表,我可以看到用户已成功创build: 使用mysql; select*从用户其中用户='用户名'和主机='appserver-lan.mydomain.com' 要么 显示'username'@appserver-lan.mydomain.com' 我指定的主机名是amazon-ec2名称的别名,当由AWS DNS服务器parsing时,会生成一个LAN地址: [root @ db_server〜]#host appserver-lan.mydomain.com appserver-lan.mydomain.com是ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com的别名。ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com的地址为10.xxx .xxx.xxx 问题是,当我尝试从这个appserver-lan连接到数据库LAN IP时,虽然密码是正确的,但是我得到一个访问被拒绝的错误。 这里奇怪的是,错误中显示的主机名不是我在创build用户时指定的主机名: 错误1045(28000):访问拒绝用户'user_name'@' appserver.mydomain.com '(使用密码:是) 所以,我的问题是:如何确定客户端主机名? 我相信这不是通过反向DNS查找,因为我检查,它不指向“appserver.mydomain.com”既不指向“appserver-lan.mydomain.com”。 此外,数据库服务器没有与/ etc / hosts上的应用程序服务器相关的条目。 总之,我敢肯定这是一个主机名parsing问题,因为授予主机“%”或局域网IP的权限工作得很好。 任何我想念的想法?
我的/ etc / hosts文件如下所示: 127.0.0.1 localhost # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 我发现,虽然build立服务器,虽然我可以ping本地主机成功,在某些像Postfix和Apache和Dovecot服务的configuration文件,我需要指定127.0.0.1而不是localhost ,以使他们的工作。 我还需要更改某些数据库驱动的网站的configuration文件,这些网站使用localhost连接到MySQL。 我已经对hosts文件进行了各种修改,但是迄今为止我都没有尝试过。 服务器运行Ubuntu 12.04.02 LTS。 它没有安装selinux,甚至在设置IPtables默认策略接受并刷新它们之后,上述情况仍然存在。
我在我的Linux笔记本上运行一个MySQL 5.0.75服务器,我想从本地networking中的另一台计算机连接到该服务器。 这个连接需要5-6秒钟: mysql -h 172.22.65.101 -u myuser -p123 一个ping到MySQL主机: PING 172.22.65.101 (172.22.65.101) 56(84) bytes of data. 64 bytes from 172.22.65.101: icmp_seq=1 ttl=64 time=0.799 ms 64 bytes from 172.22.65.101: icmp_seq=2 ttl=64 time=0.000 ms 64 bytes from 172.22.65.101: icmp_seq=3 ttl=64 time=6.43 ms 64 bytes from 172.22.65.101: icmp_seq=4 ttl=64 time=0.000 ms 64 bytes from 172.22.65.101: icmp_seq=5 ttl=64 […]
我最近一直在玩glusterfs。 我想尝试的是以类似的方式在glusterfs之上运行mysqld,因为它可能在DRBD之上运行MySQL 。 我熟悉MySQL复制以及使用它的好处,而不是使用这种方法,我也知道MongoDB和其他NoSQL解决scheme。 但是,如果我可以将MySQL保留原样并复制底层文件系统,那么这将是一个简单的解决scheme。 这是可能的,如果它是我能find如何?
我想我会在这里分享我的问题,然后回答,因为似乎有很多人卡在我的位置 – 但没有明确的答案。 问题是,如果你apt-get删除mysql-server,它不会清理configuration和数据库文件,所以如果你以某种方式搞砸他们,然后再次安装,将不会取代它们。 所以似乎有很多人问:“我如何彻底删除mysql服务器,以便我可以重新安装一个新的? – 每个人都回答apt-get remove –purge mysql-server – 我不知道为什么,但是这并不完全卸载。 我的回答如下…