Ошибка "Access denied for user 'username'@'%'" означает, что пользователю 'username' отказано в доступе к базе данных из-за неправильной настройки разрешений или неверных учетных данных.
Чтобы установить соединение с базой данных MySQL на одном сервере из другого сервера, вы можете выполнить следующие действия:
1. Убедитесь, что база данных MySQL на удаленном сервере настроена на принятие удаленных подключений. Для этого проверьте файл my.cnf (обычно расположенный в /etc/mysql/my.cnf) на наличие следующей строки:
```
bind-address = 0.0.0.0
```
Если эта строка закомментирована (начинается с символа "#"), удалите символ "#". Затем перезапустите сервер MySQL.
2. Убедитесь, что имя пользователя и пароль, которые вы используете для подключения к базе данных, правильные. Проверьте, что вы правильно указали имя пользователя и пароль в своем коде.
3. Проверьте права доступа пользователя к базе данных. Убедитесь, что пользователю 'username' разрешен доступ к базе данных, указанной в вашем коде подключения.
В MySQL вы можете настроить разрешения для пользователя с помощью команды GRANT. Пример команды GRANT для разрешения доступа пользователя к базе данных:
```
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%' IDENTIFIED BY 'password';
```
В этом примере 'username' - это ваше имя пользователя, 'password' - ваш пароль, а 'database_name' - название вашей базы данных. Также '%', укажет, что пользователь с этим именем и паролем может подключаться с любого хоста.
После внесения изменений в разрешения пользователей, перезапустите сервер MySQL.
4. Убедитесь, что порт MySQL (обычно порт 3306) открыт на сервере, где находится база данных, и на сервере, с которого вы пытаетесь подключиться. Проверьте настройки брандмауэра и убедитесь, что порт MySQL разрешен для входящего соединения.
Если вы следуете этим шагам и все настроено правильно, вы должны успешно установить соединение с базой данных MySQL с другого сервера. Если проблемы все еще возникают, убедитесь, что вы используете правильные данные для подключения и что сервер базы данных доступен.