Чтобы уменьшить использование системы, я планирую использовать другой сервер для хранения моих баз данных. Итак, как я могу перенаправить запросы MySQL на другой сервер или заставить MySQL хранить базы данных на другом сервере?
Лучший способ - перенаправить весь трафик с порта 3306 на порт 3306 IP-адреса назначения, на котором вы запускаете mysql.
Вы можете использовать различные приложения для пересылки пакетов, такие как iptables, пакетный фильтр и т. Д., В зависимости от используемой вами операционной системы.
Поскольку это работает на уровне пакетов, а не на уровне приложения, вам не придется лишний раз использовать приложение для перенаправления. Это будет значительно быстрее, чем при использовании традиционных приложений, таких как MysqlProxy.
MysqlProxy полезен, когда вам нужно понимание уровня приложения, например, если вы хотите перенаправить запросы записи mysql на один сервер и запросы чтения на другие серверы, но в этом сценарии использование прокси-сервера mysql будет большой дополнительной проблемой.
Другое дело - использовать HAProxy в tcp-режиме.
Вы можете использовать что-то вроде прокси-сервера mysql ссылка1 ссылка2 для этого. Но это не очень хорошо поддерживается. Кроме того, снижение производительности несколько значительный. Если возможно, я предлагаю вам просто указать вашему приложению подключиться к фактическому серверу mysql с выбором. Например, с PHP есть mysqlnd_ms что позволяет добавлять несколько серверов mysql и распределять нагрузку между ними.