如果您在使用phpMyAdmin定期通过网络来管理你的数据库计划(或更糟的是,在互联网上!),你不想使用root账号。 这不仅适用于phpmyadmin,也适用于任何其他基于Web的界面。
在/etc/phpmyadmin/config.inc.php
,查找下面一行,并确保AllowRoot
指令设置为false:
$cfg['Servers'][$i]['AllowRoot'] = FALSE;
在PhpMyAdmin中禁用根登录
在Ubuntu / Debian,那么您需要如图所示添加以下两行:
/* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['AllowRoot'] = false;
保存更改并重新启动Apache。
------------- On CentOS/RHEL Systems ------------- # systemctl restart httpd.service ------------- On Debian/Ubuntu Systems ------------- # systemctl restart apache2.service
然后按照上面的提示中列出的步骤去phpMyAdmin的登录页面( https://<ip address>/phpmyadmin
),并尝试以root登陆:
root访问在Phpmyadmin中被禁用
然后连接到通过在命令提示符下你的MySQL / MariaDB的数据库,并使用根凭据,如需要访问每一个数据库中创建许多帐户。 在这种情况下,我们将创建一个名为JDOE与密码jdoespassword一笔账:
# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 24 Server version: 10.1.14-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> CREATE USER 'jdoe'@'localhost' IDENTIFIED BY 'jdoespassword'; Query OK, 0 rows affected (0.04 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON gestion.* to 'jdoe'@'localhost'; Query OK, 0 rows affected (0.00 sec)
然后让我们使用上面的凭据登录。 如您所见,此帐户只能访问一个数据库:
启用PhpMyAdmin访问用户
恭喜! 您已禁用对phpmyadmin安装的root访问权限,现在可以使用它来管理数据库。
我强烈建议你到一个额外的安全层添加到您的phpMyAdmin安装使用的.htaccess密码保护和安装HTTPS(SSL证书) ,以避免以纯文本格式通过网络发送用户名和密码 。