Mysql

從 PHP 5 更新到 PHP 7.0 - PHPmyAdmin 將顯示兩個伺服器登錄:localhost / localhost:3306

  • September 7, 2018

我將我的 Linux 14.04 LTS 更新到 18.04,並且不得不將 PHP 7.2 降級到 7.0,因為我需要執行一些無法預裝 PHP 7.2 的軟體。到目前為止,我使用的是 PHP 5。

在我現在執行所有東西之後,MySQL、Apache 和 PHP 我創建了一個新數據庫,現在我收到一個通知,控制使用者無法連接並且 ‘pmp’@localhost 已拒絕訪問。

當我登錄到伺服器 @ localhost 時會出現這種情況。

如果我選擇 localhost:3306 一切正常。但是我不知道為什麼我有兩個伺服器登錄?

我有點困惑,我有兩個伺服器可供選擇(本地主機和本地主機:3066),這是我沒想到的。我可以以某種方式刪除 PHPmyAdmin 的 localhost-access 並僅啟用 localhost:3306 嗎?

知道我必須做什麼嗎?我是數據庫新手。最好的

當我在我的 config.inc.php 中註釋這些行時,一切都按預期執行,我將只獲得一個可以登錄的伺服器帳戶。

/**
* phpMyAdmin configuration storage settings.
*/

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';

/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
/* Contrib / Swekey authentication */
// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';  

有兩種方法可以連接到mysqllocalhost。一個是通過網路的連接@localhost:3306,另一個是通過文件套接字的連接,例如/tmp/mysql.sock. Filesocket 連接是首選,因為成本較低,mysql 庫在請求連接到 localhost 時選擇它(如果可用)。我不知道為什麼他們現在分開了。

如果您只想在本地連接到 mysql,則可以完全禁用網路連接,my.cnf因此所有連接都被迫基於文件套接字。就沒有人可以通過網路連接到 mysql 而言,這也更安全一些。

引用自:https://dba.stackexchange.com/questions/216933