Доступ запрещен для пользователя 'root' @ 'ip' (с использованием пароля: НЕТ) после публикации приложения в Google Play - PullRequest
0 голосов
/ 08 апреля 2020

Я создаю мобильное приложение для своей компании. Все отлично работает, когда я устанавливаю приложение с компьютера, распространяемого среди людей, также работает правильно. Проблема появляется, когда я загружаю приложение из магазина Google Play после его публикации. Появляется следующая ошибка:

java.sql.SQLInvalidAuthorizationSpecException: Access denied for user 'root'@'ip' (using password: NO)

Код для подключения к базе данных выглядит следующим образом:

try {
            Class.forName("org.mariadb.jdbc.Driver").newInstance();
            Connection connection = DriverManager.getConnection(getString(R.string.baseurl), getString(R.string.baseuser), getString(R.string.basepass));
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery(query);
            while (resultSet.next()) {
                DetailsOfCatalog details = new DetailsOfCatalog();
                details.setURL(resultSet.getString(1));
                details.setIMGURL(resultSet.getString(2));
                details.setEdition(resultSet.getString(3));
                detailsOfCatalogs.add(details);
            }
            statement.close();
            connection.close();
        } catch (Exception e) {
            return e.toString();
        }

Я использую библиотеку для подключения к базе данных, например: MariaDB Connector / J версия 1.8. URL, логин и пароль выглядят так:

    <string name="baseurl">jdbc:mysql://x:3306/mc_mobile</string>
    <string name="baseuser">mc_mobile_demo</string>
    <string name="basepass">xxxxx</string>

Я попытался подключиться к пользователю со всеми правами на базу данных и пользователю с правами только для чтения, в обоих случаях эта ошибка возникает, но только после публикации приложения, при установке с компьютера и отправке файла apk, оно работает правильно. Для каждого пользователя появляется ошибка с отдельным IP-адресом, поэтому предоставление разрешения пользователю с одним IP-адресом невозможно. Я добавлю, что распределенное приложение, которое не было опубликовано, корректно работает во всех сетях. Проблема не появляется, пока не будет опубликована и загружена из Goole Play.

...