Я пытаюсь подключиться к MySQL, используя PHP в Ubuntu LAMP. Я могу войти в phpmyadmin, но не могу подключиться, используя код php. Код работал хорошо в XAMPP.
Я использую следующий код
$con=mysql_connect("127.0.0.1","myusername","mypassword");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
Но это показывает следующую ошибку
Could not connect: Access denied for user 'root'@'localhost' (using password: YES)
Есть 3 (что я знаю) возможных решений этого в зависимости от проблемы.
В Ubuntu есть брандмауэр, который вам нужно открыть, вы делаете это, предоставляя доступ в IPtables.
/ sbin / iptables -A INPUT -i eth0 -p tcp — порт назначения 3306 -j ПРИНЯТЬ
И теперь мы должны иметь возможность войти на наш сервер с нашего локального компьютера:
mysql -h255.112.324.12 -uroot -pMyPASSWORD
Вам необходимо предоставить доступ к MySQL: https://askubuntu.com/questions/159053/mysql-server-not-accessible-from-remote-machine
как root, откройте ваш /etc/mysql/my.cnf в вашем любимом редакторе
ищите раздел [mysqld], а там ключевое слово bind-address. Обычно это значение 127.0.0.1 — измените его так, чтобы оно соответствовало вашему «обычному» IP-адресу.
сохраните файл и перезагрузите службу (например, с помощью перезапуска службы mysql)
И последнее, но не менее важное: вам нужно предоставить удаленный доступ в MySQL:
Предоставить все на mydb. * Для root @ ‘%’, идентифицированного как ‘MyPASSWORD’;
Источник: http://web.archive.org/web/20120930214828/http://chosencollective.com/technology/how-to-enable-remote-access-to-mysql + Много бессонных ночей.
Других решений пока нет …