在本地主机上访问 phpmyadmin 并重新配置 phpmyadmin:错误 1045 (28000):拒绝用户“root”@“localhost”访问

在本地主机上访问 phpmyadmin 并重新配置 phpmyadmin:错误 1045 (28000):拒绝用户“root”@“localhost”访问

我已经阅读了很多关于这个问题的帖子,但没有一个答案对我有用。我尝试访问http://localhost/phpmyadmin但它给了我403 禁止(您无权访问此服务器上的 /phpmyadmin。)因此,我尝试逐步重新配置 phpmyadmin:

sudo dpkg-reconfigure phpmyadmin
  1. 为 phpmyadmin 重新安装数据库?

    是的

  2. phpmyadmin连接MySQL数据库方法:

    Unix 套接字

  3. phpmyadmin 的 MySQL 数据库名称:

    shopware_db

  4. phpmyadmin 的 MySQL 用户名:

    phpmyadmin

  5. phpmyadmin 的 MySQL 应用程序密码:

    [已选择密码]

  6. 确认密码:

    [相同密码]

  7. 数据库管理用户的名称:

  8. Web 服务器自动重新配置:

[*] apache2 [ ] lighttpd

  1. (仅在最后选择“重试”后有时才会发生)配置文件 /etc/dbconfig-common/phpmyadmin.conf 有新版本 (/tmp/dbconfig-package-config.vagoAL) 可用,但当前安装的版本已被本地修改。

    保留当前安装的本地版本

10.An error occurred while installing the database: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

这是我不明白的,因为我可以连接到 mysql:

$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 5.7.16-0ubuntu0.16.04.1 (Ubuntu)
...
mysql> use shopware_db
Database changed
mysql>

注意:该行Include /etc/phpmyadmin/apache.conf包含在/etc/apache2/apache2.conf

这是我的/etc/phpmyadmin/apache.conf(我修改了第一行,因为这是其中一个答案所建议的):

# phpMyAdmin default Apache configuration

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options Indexes FollowSymLinks MultiViews
    DirectoryIndex index.php
    AllowOverride all
    Require all granted

    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_flag magic_quotes_gpc Off
        php_flag track_vars On
        php_flag register_globals Off
        php_admin_flag allow_url_fopen On
        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
    </IfModule>

</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>

编辑:

当保留Name of the database's administrative user(步骤 7)的默认值时(debian-系统维护) 没有错误发生。但是那是什么用户名?它从哪里来的?我不能把它改成root吗?

http://localhost/phpmyadmin仍然无法访问。

答案1

这个问题是由于 apache 配置不正确而发生的。我所要做的就是编辑/etc/apache2/sites-available/000-default.conf。之后

DocumentRoot /var/www/html

添加:

<Directory "/var/www/html">
    AllowOverride All
</Directory>

另外,如前所述,你必须在/etc/apache2/apache2.conf

Include /etc/phpmyadmin/apache.conf

相关内容