0

当我启动 phpMyAdmin 时,它没有列出我也可以访问的数据库。我知道数据库存在并且我也可以访问,因为它是我的一个 Joomla 站点使用的数据库。

我从我的 joomla 配置中获取了 config.inc.php 文件的凭证。

这是文件:

$cfg['Servers'][$i]['verbose'] = 'SQL9_MODULES';
$cfg['Servers'][$i]['host'] = 'sql9.modules';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'xxxx';
$cfg['Servers'][$i]['password'] = 'yyy';

$cfg['DefaultLang'] = 'en';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';

我尝试了其他帖子中提到的这个命令:

SELECT SCHEMA_NAME AS `Database` FROM INFORMATION_SCHEMA.SCHEMATA;

结果是空的。

我还启动了从我的 joomla 数据库到我的 joomla 数据库的“同步”功能,pma 找到了所有的表!!!!

我试图直接在桌子上写一些选择,但我得到了

#1046 - No database selected

最后一句话,这是共享主机,所以我不能以 root 身份连接到给我一些额外的特权!

谢谢你的帮助

MySQL 版本:5.1.66-0+squeeze1-log - (Debian) phpMyAdmin 版本:3.5.3

更新:

SHOW GRANTS FOR CURRENT_USER

GRANT USAGE ON *.* TO 'xxxx'@'%' IDENTIFIED BY PASSWORD '*****************'
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE ON `xxxx`.* TO 'xxxx'@'%'

有没有遗漏的补助金?

4

1 回答 1

0

从我的 ISP 支持中得到答案。需要在配置中添加以下行:

$cfg['Servers'][$i]['only_db'] = 'my-database';

现在它起作用了。

于 2014-01-11T20:32:56.727 回答