我已设置用户帐户asteriskpbx@localhost
。我尝试从该帐户执行以下命令:
echo "select 1" | isql -v asterisk-connector
但是,我收到此错误:
[S1000][unixODBC][MySQL][ODBC 5.1 Driver]Access denied for user 'administrator'@'localhost' (using password: YES)
为什么会显示拒绝用户“administrator”@“localhost”访问当我运行这个命令时asteriskpbx@localhost?
笔记:我已经为 asteriskpbx 用户帐户设置了数据库权限,但我不想在这方面做出妥协。
答案1
从错误中可以看出,在 asterisk-connector 中的 /etc/odbc.ini 中
UID = 管理员 # 其中 asteriskpbx 应该是
这是我能想到的 isql 尝试以管理员身份连接的唯一原因。
如果连接成功(如果在本地主机上运行,则删除 -h [host-ip]):
mysql -h [主机 ip] -u asteriskpbx --password=[asteriskpbx 密码]
更改 odbc.ini 后,您不会再遇到任何问题
希望能帮助到你。
米尔科
答案2
我刚刚做了一些更改/etc/odbc.ini
。
对于 MySQL 驱动程序连接:
更改:将用户名改为 UID 即可。
以下是配置详细信息:
[MYSQL]
Description = MySQL connection
Driver = MySQL
Database = <Database Name>
Server = <Host Name>
UID = <Your-DB Username>
Password = <Your-password>
Port = 3306