从服务器检索数据到本地返回 SQLSTATE[42000]:语法错误或访问冲突:1142 SELECT 命令拒绝用户

Posted

技术标签:

【中文标题】从服务器检索数据到本地返回 SQLSTATE[42000]:语法错误或访问冲突:1142 SELECT 命令拒绝用户【英文标题】:Retrieving data from server to local return SQLSTATE[42000]: Syntax error or access violation: 1142 SELECT command denied to user 【发布时间】:2016-12-15 01:13:57 【问题描述】:

我正在使用 laravel,假设我正在使用 2 个连接

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'localDatabase'),
        'username' => env('DB_USERNAME', 'root'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
    ],

    'mysql_server' => [
        'driver' => 'mysql',
        'host' => 'serverHost',
        'port' => '3306',
        'database' => 'serverDatabase',
        'username' => 'serverDummy123',
        'password' => 'dummy123',
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
    ],

我的数据库连接到服务器

$dbServer = DB::connection('mysql_server');

之后我只想从本地数据库中选择数据

$sql = "select * from localDatabase.users";
echo print_r($dbServer->select($sql));

然后我试图给我的本地数据库一些特权

用户名:serverDummy123

主机名:服务器主机

类型:特定于数据库的

特权:所有特权

授予:是的

但一切仍然无法正常工作。

【问题讨论】:

【参考方案1】:

你也可以配置.env

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=localDatabase
    DB_USERNAME=root
    DB_PASSWORD=

【讨论】:

以上是关于从服务器检索数据到本地返回 SQLSTATE[42000]:语法错误或访问冲突:1142 SELECT 命令拒绝用户的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 删除数据 - SQLSTATE [42S22]:找不到列:1054 未知列

消息:SQLSTATE [42S22]:未找到列:1054 “字段列表”中的未知列“t0._firstName”

如何从 Node.js 访问、检索、存储和删除文件到远程文件服务器?

mysql SQL Error: 1146, SQLState: 42S02 (linux),MySQL大小写敏感

策略问题:从 XML 检索数据以更新本地 Core Data DB?

照亮\数据库\查询异常(42S22)SQLSTATE[42S22]