Se requiere un proyecto Codeigniter ( en Windows ) para conectarse con una base de datos Mysql remota ( en el servidor Linux ). aquí está mi configuración de base de datos.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;y da error
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: 124pero puedo acceder a la base de datos mysql remota a través de Phpmyadmin y Heidisql usando el mismo nombre de usuario y contraseña. (todos los privilegios concedidos)
Aquí está la configuración de la base de datos remota
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: mysqlCualquier ayuda sería muy apreciada
Me enfrenté al mismo problema hace un par de meses cuando me conecté al servidor mysql remoto en Linux.
Intenté esto en mysql a través de PHPMYADMIN
SHOW VARIABLES LIKE 'old_passwords' y me dice ON
significa que old_passwords=1 en el archivo my.cnf en la configuración del servidor mysql.
La solución a este problema es actualizar la password del usuario correspondiente.
Referencia: Error: mysqlnd no puede conectarse a MySQL 4.1+ usando la antigua autenticación insegura
No estoy seguro de si esto ayudaría, pero encontré un problema similar antes.
$db['default']['dbdriver'] = 'mysqli';en vez de
$db['default']['dbdriver'] = 'mysql';A ver si esto funciona
Cree un usuario con todos los privilegios , recuerde configurar el host en %
Edite mysqld.cnf y configure "bind-address = 0.0.0.0" (puede ser /etc/mysql/mysql.conf.d/mysqld.cnf)
reiniciar mysql