![](/img/trans.png)
[英]mysqli_connect(): (28000/1045): Access denied for user 'username'@'localhost' (using password: YES)
[英]Showing Error: mysqli::real_connect(): (28000/1045): Access denied for user 'user'@'192.188.145.163' (using password: YES)
這是一個代碼點火器項目。 我給定的數據庫信息是正確的。它在本地主機中完美運行。 但是在托管站點上傳我的項目后,它仍然顯示“訪問被拒絕”錯誤。
這是我的數據庫:
$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
);
我該如何解決這個問題?
在 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 將拒絕連接。
驗證服務器上的權限表(如果需要,重新加載授權)以及您要連接到
Regrant Preveliges 由 :
GRANT ALL PRIVILEGES on *.* to 'user'@'IP' IDENTIFIED BY '*UserPass*';
如果您的托管服務器是 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
);
是的,我已經解決了這個問題改變:
$db['default'] = array('dsn' => '','hostname' => 'telihatyhighschool.edu.bd',
到:
$db['default'] = array('dsn' => '','hostname' => 'localhost',
我遇到了同樣的錯誤,但通過向該用戶添加權限來解決所有錯誤
嘗試使用沒有特殊字符的普通密碼,示例如下:
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'password',
'password' => 'Mynewpass@756',
'database' => 'database_name',
);
我通過在數據庫的權限下添加用戶解決了這個問題。 此用戶應具有與 database.php 相同的值:
'hostname' => 'localhost',
'username' => 'username',
'password' => 'password',
解決了
public_html/application/config/database.php
我有同樣的問題。 我的服務器上有 codeigniter 項目。
解決方案:
在 codeigniter 項目public_html/your_project_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
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.