У меня есть пользователь, имеющий доступ из шаблона%, wildcard.mysql db открыт для всех хост-подключений
У этого пользователя "БОГ" также есть доступ ко всем db.
Должен ли я открыть сам db, чтобы разрешать соединения с любого хоста?
Я понимаю, что это очень опасно для производства, но я не работаю в производственной среде. Просто играйте с ним и не можете заставить его работать.
GRANT ALL ON foo.* TO [email protected]'%' IDENTIFIED BY '[email protected]$w0rd';
Это предоставляет пользователю доступ к foo
дб для bar
пользователя из %
в любом месте, с паролем идентифицированной.
Я пытаюсь, но это не работает. Насколько я читал, это должно открывать его во что угодно, но это не так.
define('DB_HOST','98.76.54.321',true);
define('DB_USER','bar',true);
define('DB_PASS','[email protected]$w0rd',true);
define('DB_DBAS','foo',true);
$link = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_DBAS);
if (!$link) {
echo 'FAIL! : '.mysqli_connect_error();
}
else { echo 'Success.'; }
Вам не хватает единой цитаты после '%'? –
извините, исправно. Но проблема не в синтаксисе mysql, но когда я пытаюсь подключиться через php. Мой синтаксис php действителен, я также опубликую его. – Plummer
Значит ли сам хост разрешает доступ к порту 3306 MySQL от любого клиента? Если брандмауэр широко открыт на 3306, а 'skip-networking' не включен в my.cnf, вы не сможете подключаться с удаленных хостов независимо от предоставленных разрешений. –