同时从PHP和另一个进程访问MySQL

时间:2010-12-14 16:20:18

标签: php mysql

我正在编写一个在Linux服务器上运行(24/7)的程序,并将条目添加到MySQL数据库中。 数据库的内容在PHP的Web界面上显示,用户应该能够使用Web界面删除条目。 是否可以同时从多个进程访问数据库?

4 个答案:

答案 0 :(得分:1)

是的,数据库是为此目的而设计的。您需要在设计中记住一些事项:

  1. 数据库写入的并发和竞争条件。
  2. 性能。
  3. 为单独的应用程序分隔数据库权限。

答案 1 :(得分:0)

除非您正在使用单例访问数据库,否则php将使用的最大并发mysql连接数将限制在您的php.ini中。我相信它默认为100。

答案 2 :(得分:0)

是多个用户可以同时访问数据库。 但是,您应该注意数据是否一致。 如果使用许多小的sql语句创建/编辑条目,并且在此期间有人使用Web界面,则可能会导致一些错误。 如果你有一个简单的数据库,这应该不是问题,否则你应该考虑使用事务。

http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-transactions.html

答案 3 :(得分:0)

是的,如果您使用的是InnoDb引擎,那么在自动程序存在的情况下尝试删除记录时不会出现任何问题。这是因为事务一次发生一个,一个接一个地完成,数据库每次都是一致的。

这个答案How to implement the ACID model for a database有许多相关点。

了解数据库的ACID Properties。使用InnoDb引擎的Mysql数据库将为您处理所有这些事情,您无需担心。