У нас очень странная проблема на нашем сервере.
Любой пользователь (включая root) не может получить доступ к mysql в локальной системе, и он переключается между сбросами.
Мы используем простой PHP-скрипт, чтобы проверить это …
$username = "test";
$password = "pass123";
$conn = new mysqli("localhost", $username, $password);
if ($conn->connect_error) {echo "[localhost] Connection failed: " . $conn->connect_error;} else echo "[localhost] Connected successfully";
echo "<hr>";
$conn = new mysqli("127.0.0.1", $username, $password);
if ($conn->connect_error) {echo "[127.0.0.1] Connection failed: " . $conn->connect_error;} else echo "[127.0.0.1] Connected successfully";
echo "<hr>";
$conn = new mysqli("192.168.1.2", $username, $password);
if ($conn->connect_error) {echo "[192.168.1.2] Connection failed: " . $conn->connect_error;} else echo "[192.168.1.2] Connected successfully";
Итак, позвольте мне провести вас через последовательность.
Мы не можем заставить Coldfusion или PHP поддерживать соединения. Сначала работает первое соединение, когда [email protected] (настроено так в mysql), но впоследствии происходит сбой в Coldfusion, и php не может надежно подключиться в зависимости от перезапуска или сброса службы.
PHP действительно обрисовывает в общих чертах проблему, как замечено выше. Но JDBC-разъем для Coldfusion, похоже, случайно работает или не работает.
Есть идеи, что здесь происходит? user @% должен всегда работать, не так ли?
Дополнительные примечания:
Нашел ответ, извините, ребята, следовало бы еще немного изучить.
https://serverfault.com/questions/122472/allowing-wildcard-access-on-mysql-db-getting-error-access-denied-for-use
Иногда мы находим правильные ключевые слова, говоря об этом, эффект резиновой утки.
По сути, по-видимому, mysql по умолчанию включает пустую запись пользователя с хостом localhost, который заменяет любого пользователя @%. В результате этого поведения.
Удалите пользователя, и проблема решена. теперь мой брандмауэр можно снова включить … вау.
Проблемы IIS, которые я упомянул, являются темой для другого дня, я полагаю …
Если я правильно помню, в какой-то момент я обнаружил, что мне нужно 2 пользователя. Проверьте на наличие второго user@localhost
Пользователь, прежде чем продолжить.
Это произошло потому, что% не соответствовал локальным соединениям через сокет UNIX, а вместо этого user@localhost
запись будет использоваться
Этот вопрос может быть полезен: Mysql, включающий удаленный и локальный доступ
Помните, что любые изменения в таблице пользователей требуют FLUSH PRIVILEGES
до вступления изменений в силу.