首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP/PDO -刷新权限

PHP/PDO -刷新权限
EN

Stack Overflow用户
提问于 2010-01-26 16:36:03
回答 1查看 4.1K关注 0票数 1

我正在使用一个脚本来管理mysql服务器,该脚本在向MySQL用户添加新权限时刷新MySQL用户的权限。

我使用PDO类来执行我的查询,但是当我做一个简单的

代码语言:javascript
复制
FLUSH PRIVILEGES;

我得到了,因为

代码语言:javascript
复制
$connection->exec('FLUSH PRIVILEGES;');

代码语言:javascript
复制
$connection->query('FLUSH PRIVILEGES;');

SQLSTATE42S02:基本表或视图未找到: 1146表'mysql.servers‘不存在

是否可以使用PDO类进行这样的查询,还是必须使用mysql(i)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-26 18:12:47

我刚刚尝试了以下部分代码:

代码语言:javascript
复制
$dsn = 'mysql:dbname=mysql;host=127.0.0.1';
$user = 'root';
$password = '********';
try {
    $db = new PDO($dsn, $user, $password);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->query('flush privileges;');
} catch (PDOException $e) {
    var_dump($e);
}

我没有像你描述的那样的错误。

您确定您的MySQL服务器没有问题吗?

你的错误信息说"mysql.servers“表不存在..。但是,当我查看我的本地MySQL服务器时,有这样一个表--您确定您的安装/配置没有“损坏”,并且没有删除该表或类似的东西吗?

顺便说一句,它似乎并不是您没有的某种特权:如果您尝试在没有所需特权的情况下尝试flush privileges,您将得到以下错误:"SQLSTATE[42000]: Syntax error or access violation: 1227 Access denied; you need the RELOAD privilege for this operation

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2140849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档