Nano Hash - криптовалюты, майнинг, программирование

Проблема подключения к удаленной базе данных Codeigniter

Проект Codeigniter (в Windows) требуется для подключения к удаленной базе данных Mysql (в Linux-сервере). вот моя конфигурация database.php.

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'xxx.xxx.x.xxx';
$db['default']['username'] = 'username';
$db['default']['password'] = 'password';
$db['default']['database'] = 'database';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

и выдает ошибку

A Database Error Occurred

Unable to connect to your database server using the provided settings.

Filename: *:\****\***\htdocs\project\system\database\DB_driver.php

Line Number: 124

но я могу получить доступ к удаленной базе данных mysql через Phpmyadmin и Heidisql, используя одно и то же имя пользователя и пароль. (все привилегии предоставлены)

Вот конфигурация удаленной базы данных

Server version: 5.0.95
Protocol version: 10
Server: Localhost via UNIX socket
MySQL charset: UTF-8 Unicode (utf8)
MySQL client version: 5.0.95
Used PHP extensions: mysql

Любая помощь будет принята с благодарностью


  • Взгляните на это, ссылка. Это может быть связано с конфигурацией порта. 05.02.2016
  • Если вы используете codeigniter 3, драйвер mysql был удален. Вместо этого попробуйте pdo или mysqli. См. : codeigniter.com/user_guide/database/. 05.02.2016
  • @AdrienXL Устарело, не удалено - проблема здесь определенно не в этом. Но в остальном, да, используйте mysqli. 06.02.2016
  • Кроме того, судя по номеру строки, показанному в этом сообщении об ошибке, OP использует 2.x. 06.02.2016
  • поменял $db['default']['dbdriver'] = 'mysql'; на $db['default']['dbdriver'] = 'mysqli'; но никаких улучшений. при попытке с pdo возвращается Fatal error: Uncaught exception 'PDOException' with message 'invalid data source name' 06.02.2016

Ответы:


1

Я столкнулся с той же проблемой пару месяцев назад при подключении к удаленному серверу mysql в Linux.

Я пробовал это в mysql через PHPMYADMIN

SHOW VARIABLES LIKE 'old_passwords' и он говорит мне ON

это означает, что old_passwords=1 в файле my.cnf в конфигурации сервера mysql.

Решение этой проблемы заключается в обновлении password для соответствующего пользователя.

Ссылка: Ошибка: mysqlnd не может подключиться к MySQL 4.1+, используя старую небезопасную аутентификацию

06.02.2016
  • Только что попробовал это, никакого эффекта в codeigniter. он по-прежнему возвращает ту же ошибку, о которой я упоминал в вопросе. но когда я пробовал с обычными программами php, он возвращает Warning: mysql_connect(): mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication... 06.02.2016
  • Обновите пароль базы данных снова без ничего. а затем попробуйте подключиться без пароля. 06.02.2016

  • 2

    Не уверен, что это поможет, но я уже сталкивался с подобной проблемой.

    $db['default']['dbdriver'] = 'mysqli';
    

    вместо

    $db['default']['dbdriver'] = 'mysql';
    
    06.02.2016
  • @ShifanaMubi, к сожалению. Я проверил ваши настройки на основе моих рабочих проектов, чтобы убедиться, что они должны работать. Итак, вам, вероятно, осталось рассмотреть 1.) брандмауэр? 2.) правильные учетные данные (хост, пользователь, пароль). 06.02.2016

  • 3

    Посмотрите, работает ли это

    Создайте пользователя со всеми привилегиями, не забудьте установить хост в %

    Отредактируйте mysqld.cnf и установите «bind-address = 0.0.0.0» (может быть /etc/mysql/mysql.conf.d/mysqld.cnf)

    Перезапустите MySQL

    10.11.2017
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..