Назад | Перейти на главную страницу

Разделите существующую LAMP, чтобы иметь отдельный веб-сервер и базу данных

У меня сейчас работает LAMP-сервер. Он часто падает из-за слишком большой нагрузки на БД. Я хотел бы отделить БД оттуда и запустить ее на отдельной машине. У меня на сервере уже работает около 100 сайтов.

Вот мой план: 1. настроить новый сервер, установить mysql на сервере 2. на веб-сервере, открыть порт 3306, чтобы он был iptunnel к 3306 на новом сервере.

Это целесообразно или лучше вручную изменить сервер базы данных в сценариях на другой?

Если бы я сделал это, по-видимому, мне бы пришлось настроить всех пользователей в базе данных, чтобы разрешить доступ с веб-сервера прямо сейчас?

Мысли?

Вы упустили важный момент: передать все данные. Сделать это без простоя сложно (хотя и возможно, особенно если вы готовы окунуться в мрачный мир многопользовательской репликации MySQL), если вы хотите пережить некоторое время простоя, вы можете сделать это одним большим ударом. или база данных по базе данных (что, если у вас много отдельных баз данных, может быть хорошим способом протестировать ваш план миграции с небольшим недорогим сайтом, а не взорвать все в огромном беспорядке).

Что касается именования, то ответ - служебные CNAME - CNAME 'db' или 'mysql' или что-то, который указывает на ваш сервер базы данных.

Если вы выполняете одно-большое переключение (или у вас только одна база данных), настройте этот CNAME сейчас и укажите 127.0.0.1 и начните изменять все свои сценарии для использования CNAME. Search-n-replace или что-то еще (также воспользуйтесь возможностью централизовать такую ​​конфигурацию, если - как это звучит - вы жестко запрограммировали информацию о своей БД во множестве отдельных сценариев, на случай, если вам нужно сделать что-то вроде этого снова в будущем), но без фактически перемещая любые данные на новый сервер. Как только все будет запущено через CNAME, затем вы можете начать перемещать вещи, и гораздо проще изменить CNAME в конце обслуживания, чем менять тысячу скриптов в период обслуживания.