php - Codeigniter 远程数据库连接问题

标签 php mysql linux codeigniter database-connection

需要一个 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

但我可以使用相同的用户名和密码通过PhpmyadminHeidisql 访问远程mysql 数据库。 (授予所有特权)

这里是远程数据库配置

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

任何帮助将不胜感激

最佳答案

几个月前,我在 linux 中连接到远程 mysql 服务器时遇到了同样的问题。

我通过 PHPMYADMIN 在 mysql 中试过这个

SHOW VARIABLES LIKE 'old_passwords' 它说我 ON

表示服务器mysql配置中的my.cnf文件中的old_passwords=1

解决这个问题的方法是更新相应用户的密码

引用:Error: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication

关于php - Codeigniter 远程数据库连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35225394/

相关文章:

php - 在 PHP 中备份 Mysql 数据库

mysql - 将一个大表拆分为多个表

mysql - 如何使用 IntelliJ 正确设置 Spring Boot 和 Hibernate?

linux - Graphite 存储模式不起作用

php - 将 javascript 合并到 php 中的最佳方法?

PHP 保护目录免受直接 URL 访问

c# - 将视频流传输到YouTube(API)

php - 一般错误 : 1364 Field 'avatar' doesn't have a default value

linux - CS 学生 : Learning to program on Linux vs my Mac

php - 在后台运行 php 脚本,永不死 linux