Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示错误:mysqli::real_connect():(28000/1045):拒绝用户访问';用户'@';192.188.145.163';(使用密码:是)_Php_Mysql_Database_Codeigniter_Access Denied - Fatal编程技术网

Php 显示错误:mysqli::real_connect():(28000/1045):拒绝用户访问';用户'@';192.188.145.163';(使用密码:是)

Php 显示错误:mysqli::real_connect():(28000/1045):拒绝用户访问';用户'@';192.188.145.163';(使用密码:是),php,mysql,database,codeigniter,access-denied,Php,Mysql,Database,Codeigniter,Access Denied,这是一个codeigniter项目。我给出的数据库信息是正确的。它在localhost中工作得非常好。但在将我的项目上传到托管站点后,仍然显示“拒绝访问”错误 这是我的数据库: $db['default'] = array( 'dsn' => '', 'hostname' => 'telihatyhighschool.edu.bd', 'username' => 'db_username', 'password' => 'db_passw

这是一个codeigniter项目。我给出的数据库信息是正确的。它在localhost中工作得非常好。但在将我的项目上传到托管站点后,仍然显示“拒绝访问”错误

这是我的数据库:

 $db['default'] = array(
    'dsn' => '',
    'hostname' => 'telihatyhighschool.edu.bd',
    'username' => 'db_username',
    'password' => 'db_password',
    'database' => 'db_name',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => TRUE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array() ,
    'save_queries' => TRUE
);

我怎样才能解决这个问题

如果您的主机服务器是Linux

hostname
值更改为
localhost

$db['default'] = array(
    'dsn' => '',
    'hostname' => 'localhost',
    'username' => 'user',
    'password' => 'XXXXXXXX',
    'database' => 'mydbname',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => TRUE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array() ,
    'save_queries' => TRUE
);

在cpannel中,实际上用户名和数据库名都有cpanel用户名前缀,例如

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

$db['default']['hostname'] = 'localhost'; //literaly put localhost
$db['default']['username'] = 'cpanelusername_root';
$db['default']['password'] = 'password';
$db['default']['database'] = 'cpanelusername_db name';
$db['default']['dbdriver'] = 'mysqli'; ///use this extension
$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;
用更简单的话来说

Host = localhost (literally put localhost)
Database name = (cpanelUsername_databaseName)
Database username = (cpanelUsername_databaseUsername)
Database password = (******)
注意: 连接到数据库时,需要确保:

  • 您已经创建了一个数据库
  • 您已经创建了一个数据库用户名
  • 您已将该用户的权限分配给您的数据库
  • 您的MySQL连接可能使用127.0.0.1或服务器的IP地址,如果未授予对所用特定IP地址的访问权限,MySQL将拒绝连接

    验证服务器上的权限表(如果需要,重新加载授权)以及您正在连接到的权限表

    通过以下方式进行重新分配:

    GRANT ALL PRIVILEGES on *.* to 'user'@'IP' IDENTIFIED BY '*UserPass*';
    

    是的,我已经解决了这个问题:

    $db['default'] = array('dsn' => '','hostname' => 'telihatyhighschool.edu.bd',
    
    致:


    我遇到了相同的错误,但所有错误都通过向该用户添加权限来解决

    尝试使用不带特殊字符的普通密码,以下是示例:

    $db['default'] = array(
        'dsn'   => '',
        'hostname' => 'localhost',
        'username' => 'password',
        'password' => 'Mynewpass@756',
        'database' => 'database_name',
    );
    

    我通过添加具有数据库权限的用户来解决此问题。 此用户应具有与database.php相同的值:

    'hostname' => 'localhost',
    'username' => 'username',
    'password' => 'password',
    
    解决

  • 从cpanel创建新数据库
  • 创建一个新用户名
  • 为该用户分配了对数据库的权限
  • 使用新的信息数据库修改文件database.php
  • public_html/application/config/database.php

  • 从旧的托管cpanel导出数据库-选项phpmyadmin
  • 将数据库导入到新的托管cpanel-选项phpmyadmin
  • 完成

  • 我也有同样的问题。我的服务器上有codeigniter项目

    解决方案:

    在文件管理器中在codeigniter项目中public\u html/your\u project\u name/application/config/database.php中

    我添加了丢失的密码。[在Cpanel->MySQL数据库中创建用户密码时的密码]

    **确保您已以所有权限将数据库访问权限分配给此用户,并且您在
    database.php
    中的配置正确无误

    我的建议是:

    $active_group = 'default';
    $query_builder = TRUE;
    
    $db['default'] = array(
        'dsn'   => '',
        'hostname' => 'YOUR_DOMAIN_NAME', //Ex- abcd.com
        'username' => 'USER_NAME_HERE',// CREATED IN CPANEL->MySQL Database
        'password' => 'PASSWORD_HERE', // PASSWORD OF ABOVE USER
        'database' => 'YOUR_DB_NAME',
        'dbdriver' => 'mysqli',
        'dbprefix' => '',
        'pconnect' => FALSE,
        'db_debug' => (ENVIRONMENT !== 'production'),
        'cache_on' => FALSE,
        'cachedir' => '',
        'char_set' => 'utf8',
        'dbcollat' => 'utf8_general_ci',
        'swap_pre' => '',
        'encrypt' => FALSE,
        'compress' => FALSE,
        'stricton' => FALSE,
        'failover' => array(),
        'save_queries' => TRUE
    );
    

    阅读mysql文档,了解如何将用户添加到数据库中,因为上面的评论表明您的用户没有足够的资源previliges@MamunSabuj这是loaclhost数据库吗?但我使用了所有previlige复选框。因此我认为没有理由没有足够的previlige。您是否在loaclhost上运行?它在localhost中运行得非常好。但在主机站点上载我的项目后显示错误。您的主机提供了什么??
    $active_group = 'default';
    $query_builder = TRUE;
    
    $db['default'] = array(
        'dsn'   => '',
        'hostname' => 'YOUR_DOMAIN_NAME', //Ex- abcd.com
        'username' => 'USER_NAME_HERE',// CREATED IN CPANEL->MySQL Database
        'password' => 'PASSWORD_HERE', // PASSWORD OF ABOVE USER
        'database' => 'YOUR_DB_NAME',
        'dbdriver' => 'mysqli',
        'dbprefix' => '',
        'pconnect' => FALSE,
        'db_debug' => (ENVIRONMENT !== 'production'),
        'cache_on' => FALSE,
        'cachedir' => '',
        'char_set' => 'utf8',
        'dbcollat' => 'utf8_general_ci',
        'swap_pre' => '',
        'encrypt' => FALSE,
        'compress' => FALSE,
        'stricton' => FALSE,
        'failover' => array(),
        'save_queries' => TRUE
    );