Хост MySQL в общей папке
Я пытаюсь разместить базу данных MySQL в общедоступном месте организации. Есть ли способ, которым я могу достичь этого, потому что у меня нет общего сервера, который будет работать все время.
2 ответа
MySQL - это система управления базами данных "клиент-сервер" (например, Microsoft SQL Server, PostgreSQL, Oracle и т. Д.), Поэтому для нее требуется сервер, на котором может работать приложение централизованного управления базами данных ("сервер базы данных"). Клиентское программное обеспечение для таких баз данных может только "общаться" с приложением, работающим на сервере, и серверное приложение обновляет файл (ы) базы данных; клиенты не могут обновлять файлы базы данных напрямую.
Напротив, база данных "одноранговая" (иногда называемая "общим файлом"), такая как Microsoft Access, не имеет приложения централизованной базы данных. Вместо этого у каждого клиентского компьютера есть копия механизма базы данных, которая может обновлять файлы базы данных непосредственно в кооперативном режиме.
Таким образом, вы не можете использовать MySQL, если у вас не запущен сервер базы данных MySQL. Что касается однорангового решения, обратитесь к вашему предыдущему вопросу здесь.
Хотя я понимаю, что вы делаете, это просто очень плохая идея, и ее нельзя заставить работать. Большая часть цели системы СУБД (например, MySQL) - ответственно обращаться с одновременным доступом к данным.
Основная идея архитектуры заключается в том, чтобы общаться (в небольших сообщениях) со стеком программного обеспечения сервера, который может быстро получить доступ к его файлам, получить необходимые данные и отправить их обратно вам. Этот стек программного обеспечения сервера делает две вещи:
- Обсуждает, что клиенты, смотрящие на одни и те же данные, видят непротиворечивую значимую картину данных
- Выполняет все операции поиска, сортировки, индексации и т. Д. На сервере, не отправляя все эти данные назад и вперед по сети.
Поэтому, если вы используете MySQL, совместно используемый различными клиентскими машинами, вам нужно иметь сервер mysql, работающий на сервере ONCE (в отличие от запуска на каждом клиенте, имеющем доступ к общему диску, как вы предлагаете).