Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MySQL中设置要与ODBC一起使用的用户?_Mysql_Odbc - Fatal编程技术网

如何在MySQL中设置要与ODBC一起使用的用户?

如何在MySQL中设置要与ODBC一起使用的用户?,mysql,odbc,Mysql,Odbc,我已经建立了一个用于在我的数据库中报告的用户。我只授予了SELECT对必要数据库的权限 例如,我可以从phpMyAdmin登录到MySQL,我可以对用户执行应该执行的操作 但是,尝试从ODBC读取数据时,会出现以下错误: [MySQL][ODBC 3.51驱动程序]拒绝用户访问user@server_ip(使用密码:是) 我需要做些额外的事情吗?使用root进行的访问没有此问题,但显然,出于安全原因,我不想将所有权限授予该用户。您必须首先确保该用户在本地连接时具有所需的访问权限。您可以使用MyS

我已经建立了一个用于在我的数据库中报告的用户。我只授予了
SELECT
对必要数据库的权限

例如,我可以从phpMyAdmin登录到MySQL,我可以对用户执行应该执行的操作

但是,尝试从ODBC读取数据时,会出现以下错误:

[MySQL][ODBC 3.51驱动程序]拒绝用户访问user@server_ip(使用密码:是)


我需要做些额外的事情吗?使用
root
进行的访问没有此问题,但显然,出于安全原因,我不想将所有权限授予该用户。

您必须首先确保该用户在本地连接时具有所需的访问权限。您可以使用MySQL查询浏览器或MySQL命令行客户端进行测试

现在,如果在本地测试时没有问题,并且根用户能够从远程计算机访问表,那么用户的权限肯定有问题,这会阻止它从远程主机访问表。检查您是否已正确授予用户所需的权限。以下是正确的语法:

mysql> CREATE USER 'custom'@'host47.example.com' IDENTIFIED BY 'obscure';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    ->     ON expenses.*
    ->     TO 'custom'@'host47.example.com';

请参阅MySQL参考手册。

这就是诀窍!用户应该在本地使用!非常感谢:-)