MySQL Auto-login phpMyAdmin

MySQL Auto-login phpMyAdmin

在使用MySQL作为自己的数据库之后,我们就需要一个管理工具来帮助我们管理数据库,这时phpMyAdmin就成了我们的首选。

然而,每次访问phpMyAdmin都需要输入用户名和密码,对于经常使用的我们来说不太方便,因此我们需要通过自动登录来减轻这种输入负担。

下面我们就来一步步实现MySQL Auto-login phpMyAdmin。

阅读更多:MySQL 教程

1. 将phpMyAdmin文件拷贝至Web服务器所在文件夹

我们可以到phpMyAdmin官网(https://www.phpmyadmin.net)下载最新的版本,然后将下载得到的phpMyAdmin文件夹拷贝至Web服务器的根目录下。

例如我们将phpMyAdmin文件夹直接放在/var/www/html目录下。

2. 创建一个数据库用户并赋予相关的权限

在mysql命令行中输入以下命令来创建一个新用户,并且赋予该用户对phpMyAdmin数据库的全部权限。

CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'phpmyadmin'@'localhost';
FLUSH PRIVILEGES;

3. 创建一个记住登录状态的脚本

我们需要创建一个php脚本来保持phpMyAdmin的登录状态。首先可以进入phpMyAdmin的主目录,然后创建一个名为“keepalive.php”的文件,内容如下:

<?php
// 启动一个会话,以便 _SESSION[] 中的数据能够被保存
session_start();

// 如果已经设置好了_SESSION['pma_auth'] ,那么就直接退出
if(isset(_SESSION['pma_auth'])) {
    exit();
}

// 否则尝试使用之前得到的 hash 来登录
require_once('./libraries/common.inc.php');
list(tmp_auth_type, _SESSION['user']) = preg_split('/:/',_SESSION['pma_auth'], 2);
_SESSION['db'] = true;retval = PMA_auth();
// 如果失败,那么就在下面添加一个错误日志
if(retval != TRUE) {
    // 在下面修改为phpMyAdmin存放错误日志的路径logfile = './tmp/phpmyadmin_error.log';
    fh = fopen(logfile, 'a');
    fwrite(fh, 'Failed attempt to automatically login: ' . date('r') . PHP_EOL);
    fclose(fh);
    exit();
}

// 成功
_SESSION['pma_auth'] =GLOBALS['PMA_Config']->getAuth('cookie');

4. 修改config.inc.php

在phpMyAdmin的官方配置文件中,有一行配置可以用来将“keepalive.php”包含进去从而实现登录保持:

$cfg['LoginCookieValidity'] = 0;

将该行配置改为:

$cfg['LoginCookieValidity'] = 1440; // 24小时
$cfg['PersistentConnections'] = true;
$cfg['LoginCookieStore'] = true;
$cfg['SendErrorReports'] = false;

5. 访问自动登录页面

创建一个名为“auto_login.php”的脚本,然后在其中引用“keepalive.php”,如下所示:

<?php require_once('phpmyadmin/keepalive.php'); ?>

最后,将该文件放在phpMyAdmin主目录下。

现在,当我们从浏览器中访问“auto_login.php”时,如果我们之前已经登录过phpMyAdmin,那么这个脚本将防止登录被超时而失效。同时,如果我们之前没有登录过phpMyAdmin,那么我们将会重新登录,登录的用户名和密码将会保存在浏览器的Cookie中,此后再次访问phpMyAdmin的时候就会自动登录了。

总结

本文为大家详细介绍了如何通过MySQL Auto-Login phpMyAdmin来减少登录的负担,并且处理了一些可能遇到的问题。这样做有利于提高工作效率和便利性。在进行此操作时,请务必保护好您的用户名和密码,谨慎使用自动登录功能。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程