Ошибка 2003 при подключении к MySQL обычно указывает на то, что клиент не может установить соединение с сервером базы данных. В вашем случае проблема возникает только на телефоне и в эмуляторе, что может быть связано с несколькими факторами. Вот что вы можете попробовать для решения этой проблемы:
1. **Проверка интернет-соединения**: Убедитесь, что на вашем мобильном устройстве есть доступ к интернету. Попробуйте открыть веб-сайты через мобильный браузер, чтобы проверить, есть ли соединение.
2. **Проверка разрешений**: Убедитесь, что у вашего приложения есть все необходимые разрешения для доступа к интернету. В вашем `buildozer.spec` у вас должно быть следующее:
```plaintext
android.permissions = INTERNET
```
3. **Использование локального IP или DNS**: Если вы используете локальный IP-адрес, он может не работать на мобильном устройстве, так как телефон может находиться в другой сети. Попробуйте использовать публичный IP или DNS для подключения к серверу.
4. **Настройки сервера**: Убедитесь, что сервер MySQL настроен на прием подключений извне. В файле конфигурации MySQL обычно есть параметр `bind-address`, который должен быть настроен на `0.0.0.0`, чтобы разрешить подключения из любых источников.
5. **Проверка брандмауэра**: Проверьте настройки брандмауэра вашего сервера, чтобы убедиться, что он позволяет входящие подключения на порт 3306 (или другой, если вы изменили его).
6. **Проверка версии MySQL**: Убедитесь, что версия MySQL поддерживает ваш клиент и имеет правильные параметры аутентификации и сетевые настройки.
7. **Тестирование с помощью Telnet или другого клиента**: Попробуйте подключиться к серверу MySQL с использованием Telnet или другого клиентского инструмента прямо с вашего устройства, чтобы проверить, доступен ли сервер.
8. **Логи и отладка**: Посмотрите логи вашего сервера MySQL, чтобы понять, почему соединение может быть отклонено. Это может дать полезную информацию о проблеме.
Если после всех перечисленных шагов проблема остается нерешенной, попробуйте создать новый тестовый проект с минимальным кодом, который выполняет только подключение к базе данных. Это поможет вам изолировать проблему и упрощенно её отлаживать.