Вы можете разрешить второму хосту доступ к первому серверу MySQL. Лучшая практика (, насколько мне известно ) для этого заключается в создании новой учетной записи пользователя, предоставлении ей необходимых привилегий для таблицы пользователей, только разрешении доступа к это с IP или домена второго хоста и с использованием безопасного пароля. Вы бы запустили этот запрос на сервере MySQL:
GRANT ALL ON mydatabase.users TO 'mynewuser'@'123.123.123.123'
IDENTIFIED BY 'mysecurepassword';
Само собой разумеется, что вы заменили бы «mydatabase.users» на вашу базу данных и имя таблицы, «mynewuser» на имя пользователя, к которому вы хотите иметь доступ (вы можете указать здесь что угодно, пользователь будет создан автоматически), «123.123.123.123» с IP-адресом или доменным именем вашего второго сервера и «mysecurepassword» с надежным и длинным паролем, предпочтительно генерируемым случайным образом.
Ваш второй сервер теперь сможет подключаться к серверу MySQL и иметь привилегии ALL
(вы можете изменить их на те, которые ему нужны) в таблице mydatabase.users.
MySQL 5.6 Синтаксис GRANT
Greensql.com по MySQL лучшие практики удаленного доступа
Чтобы минимизировать небольшие потери производительности, я бы воздержался от создания нескольких соединений с MySQL (старайтесь использовать как можно меньше, желательно только одно). Я не уверен на 100% в следующем, но я уверен, что было бы неплохо уменьшить количество отдельных запросов, которые вы выполняете. Вместо запуска 10 отдельных вставок, запустите одну вставку с несколькими VALUES
сегментами, например,
INSERT INTO mytable(id, name) VALUES
(0, 'mia'),
(1,'tom'),
(2,'carl');
Я уверен, Подготовленные MySQL заявления также значительно помогли бы снизить штраф за скорость