在本地ubuntu上运行phpmyadmin 18我遇到错误
#1698 - Access denied for user 'root'@'localhost'
但是在文件/etc/phpmyadmin/config.inc.php中,我更改了连接参数以使默认用户转义为:
$dbuser='MYUSER';
$dbpass='MYPASSWORD';
$basepath='';
$dbname='phpmyadmin';
$dbserver='localhost';
$dbport='3306';
$dbtype='mysql';
在MYUSER / MYPASSWORD下,我从php应用程序连接到sql。在information_schema中,我运行
GRANT ALL PRIVILEGES ON * . * TO 'lardev'@'localhost'
输出:
Query executed OK, 0 rows affected.
为什么root用户对错误消息不满意?如何解决该错误?
谢谢!
您config.inc.php
输入的变量不是phpMyAdmin的正确变量。您可以参考样本配置文件,所有配置指令的文档或下载config.sample.inc.php
中应包含的文件(或可以在Github上查看),以获取正确语法的详细信息。
官方默认设置是使用一种称为cookie的身份验证类型,在尝试登录时会提示您输入用户名和密码(您可以在演示服务器上看到此信息)。您的描述听起来好像没有提示您输入用户名,这意味着有人已更改为“ config”身份验证类型,并使用了诸如这样$cfg['Servers'][$i]['auth_type'] = 'config';
的指令。相关的区别(除了安全性和登录方式)是使用auth_type config ,还需要在配置文件中设置用户名和密码。对于auth_type cookie或http,不使用这些值。
话虽如此,这是config.inc.php
使用列出的配置和phpMyAdmin变量名称的更正版本:
<?php
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'MYUSER';
$cfg['Servers'][$i]['password'] = 'MYPASSWORD';
默认主机名是“ localhost”,它强制连接使用套接字而不是TCP / IP网络,因此将忽略该端口。要使用TCP / IP连接,请设置$cfg['Servers'][$i]['host'] = '127.0.0.1';
其他变量$ basepath,$ dbname和$ dbtype没有直接等同于phpMyAdmin的变量。
另外,请注意,在任何情况下,如果您的Web服务器将phpMyAdmin服务到不是来自本地主机的连接(出于安全措施,否则具有URL的任何人都可以直接访问您的数据库),我建议您使用auth_type cookie而不是config。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句