无法使用unixodbc、libmyodbc连接到远程mysql服务器

2024-04-17

我对此有点陌生,我希望我遇到的问题是一个简单的问题......编辑:底部的新信息

我需要连接到远程 mysql (Amazon RDS) 数据库。

在学习了一些教程后,我在客户端上安装并配置了 unixodbc 和 libmyodbc,但是当我尝试通过 isql 连接时,出现错误

[08S01][unixODBC][MySQL][ODBC 5.1 Driver]Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[ISQL]ERROR: Could not SQLConnect

关于此错误最令人困惑的部分是我没有尝试连接到本地数据库,而是连接到远程数据库。我的客户端上没有 mysql.sock 文件...但这不是问题,不是吗?

我感觉到配置错误,但我不确定它可能是什么。

如果我运行 odbcinst -j 则输出为:

DRIVERS............: /etc/unixODBC/odbcinst.ini
SYSTEM DATA SOURCES: /etc/unixODBC/odbc.ini
USER DATA SOURCES..: /root/.odbc.ini

/etc/unixODBC/odbcinst.ini 的内容是:

[MySQL]
Description             = ODBC for MySQL
Driver          = /usr/lib64/libmyodbc5.so
Setup           = /usr/lib64/unixODBC/libodbcmyS.so
UsageCount              = 5

[MySQL ODBC 515 Driver]
Description             = ODBC 5.515 for MySQL
DRIVER          = /usr/lib64/libmyodbc5-5.1.5.so
SETUP           = /usr/lib64/unixODBC/libodbcmyS.so
UsageCount              = 3

请注意,我必须自己进行此配置,我查找了 libmyodbc* 并找到了这两个 .so 文件,从而为每个文件设置了一个驱动程序。搜索 libodbcmyS* 会得到:

/usr/lib64/unixODBC/libodbcmyS.so.1
/usr/lib64/unixODBC/libodbcmyS.so
/usr/lib64/unixODBC/libodbcmyS.so.1.0.0

所以,我不知道该配置还可以是什么。

/etc/unixODBC/odbc.ini 的内容是:

[target_db]
Driver          = MySQL
Server          = [servername.com]
Port            = 3306
Database        = [databasename]
Option          = 2
User            = [username]
Password        = [password]

我在“Driver”中尝试了不同的选项,将其从MySQL更改为MySQL ODBC 515驱动程序,更改为.so文件的路径(例如:/usr/lib64/libmyodbc5.so),并且所有选项都产生相同的结果。

我在跑:

odbcinst -i -d -f /etc/unixODBC/odbcinst.ini

其次是:

odbcinst -i -s -l -f /etc/unixODBC/odbc.ini

其次是:

odbcinst -s -q

它打印出我的连接的名称,即 [target_db]

然后,我尝试连接:

isql -v target_db user password

or just

isql -v target_db

并得到如上所示的错误。

有人知道我在这里做错了什么吗?非常感谢-

EDIT:

想要提及的是,我可以使用 mysql 命令行工具从该服务器连接到数据库。

我安装了本地 mysql 数据库,并且可以使用 isql 连接到该数据库。它似乎完全忽略了我的 odbc.ini 文件,我必须使用命令输入一个名称,即 isql -v test-database,但尽管我进行了设置,它仍然尝试连接到本地主机。

我觉得我已经尝试了一切,但会坚持下去,如果我找到解决方案,我会发布。


您可以尝试使用服务器的 IP 地址而不是 odbc.ini 的“服务器”行上的 dns 条目进行连接。您是否已验证驱动程序是否已使用 phpinfo() 安装?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用unixodbc、libmyodbc连接到远程mysql服务器 的相关文章

  • 使用 RMySQL 会干扰 RPostgreSQL

    我有一个 R 脚本 我想从 MySQL 数据库中提取一些数据 然后从 PostgreSQL 数据库中提取一些数据 但是 从 RMySQL 加载 MySQL 驱动程序会阻止我从以下位置加载 PostgreSQL 驱动程序 PostgreSQL
  • mysqli_stmt_bind_result 的奇怪问题

    好吧 这让我很烦恼 我似乎在 PHP 文档中找不到任何内容 在 Google resultosphere 中也找不到任何内容 所以也许有人可以在这里提供帮助 我正在使用准备好的语句 绑定结果 然后使用这些绑定结果来填充下拉列表 例子
  • Java MYSQL/JDBC 查询从缓存的连接返回过时的数据

    我一直在 Stackoverflow 中寻找答案 但似乎找不到不涉及 Hibernate 或其他数据库包装器的答案 我直接通过 Tomcat 6 Java EE 应用程序中的 MYSQL 5 18 JDBC 驱动程序使用 JDBC 我正在缓
  • mysql中的按位移位

    如何在 MySQL 中进行按位移位 有没有具体的指令或者操作符 如果不是 如何最佳地模拟它 看一下按位运算符MySQL first http dev mysql com doc refman 5 0 en bit functions htm
  • 如何使组合键唯一?

    I am making a database of students in one school Here is what I have so far 如果您不喜欢阅读 请跳至 简而言之 部分 问题是我对这个设计并不满意 我想要的组合gra
  • 如何在 PHP MYSQL 中将数据库表和每条记录从一台数据库服务器复制到另一台数据库服务器?>

    您好 我编写了一段代码 可以将数据库表从一个服务器复制到另一个服务器 但是每个表的记录没有复制 如何编写一个可以将表和每个记录从一个数据库服务器复制到另一个数据库服务器的函数 这是我的示例代码
  • 表已满(使用 MEMORY 引擎)

    我想将生产数据库传输到我的开发机器上进行测试 它有 6 张桌子MEMORY出于性能目的的引擎 I did mysqldump routines hxxx uxxx pxxx prod database gt prod dump sql 当我
  • Mac OS X Yosemite/El Capitan 上自动启动 MySQL 服务器

    我想在启动时自动启动 MySQL 服务器 这在小牛队是可能的 但在优胜美地似乎不起作用 edit 似乎这也适用于 El Capitan dcc 非常接近 这是 MySQL 在 Yosemite 上再次自动启动的方式 The com mysq
  • 如何在 MySQL Insert 语句中添加 where 子句?

    这不起作用 INSERT INTO users username password VALUES Jack 123 WHERE id 1 有什么想法如何通过 id 将插入范围缩小到特定行吗 在插入语句中 您不会有现有行来执行 where 语
  • 数据库中的持久日期不等于检索日期

    我有一个具有 Date 属性的简单实体类 此属性对应于 MySQL 日期时间列 Entity public class Entity Column name start date Temporal TemporalType TIMESTAM
  • 如何使用MySqlCommand和prepare语句进行多行插入?(#C)

    Mysql 给出了如何使用准备语句和 NET 插入行的示例 http dev mysql com doc refman 5 5 en connector net programming prepared html http dev mysq
  • MySQL #1093 - 您无法在 FROM 子句中指定用于更新的目标表“赠品”

    I tried UPDATE giveaways SET winner 1 WHERE ID SELECT MAX ID FROM giveaways 但它给出了 1093 您无法指定目标表 赠品 进行更新FROM clause 本文 ht
  • #1115 - 未知字符集:'utf8mb4'

    我的电脑上运行着一个本地网络服务器 用于本地开发 我现在正处于导出数据库并导入到我的托管 VPS 的阶段 导出然后导入时出现以下错误 1115 未知字符集 utf8mb4 有人能指出我正确的方向吗 该错误明确表明您没有utf8mb4您的阶段
  • INNER JOIN 后从多个表获取最大日期

    我有以下两个表 table 1 ID HOTEL ID NAME 1 100 xyz 2 101 pqr 3 102 abc table 2 ID BOOKING ID DEPARTURE DATE AMOUNT 1 1 2013 04 1
  • Laravel:使用 Faker 播种多个独特的列

    介绍 怎么样 伙计们 我有一个关于模型工厂和多个独特列的问题 背景 我有一个名为 Image 的模型 该模型将语言支持存储在单独的模型中 图片文字 图片文字 has an image id栏 语言栏和文本栏 图片文字有一个约束MySQL那个
  • 如何检查 $row['column_name'] 是否返回空 php mysql

    我有一个带有列的表格 id name phone describe 当我从这个表中获取值时 我正在使用 row mysql fetch array query 现在我想检查是否 row describe 返回空值 如何查看php 您可以使用
  • 使用数据库进行日志记录

    大多数日志似乎都是纯文本形式 而不是放入 MySQL 其他类型的数据库中 这是否有原因 在我看来 将它们放入数据库将使分析变得非常非常容易 但这会以牺牲速度还是其他什么为代价 我不太关心可移植性 显然你会有数据库连接的文本日志 我能想到两大
  • IN 子查询中的 GROUP_CONCAT

    SELECT A id A title FROM table as A WHERE A active 1 AND A id IN SELECT GROUP CONCAT B id from B where user 3 如果我启动子查询SE
  • 通过Java从MySQL中获取大量记录

    有一个 MySQL 表 服务器上的用户 它有 28 行和 100 万条记录 也可能会增加 我想从这个表中获取所有行 对它们进行一些操作 然后将它们添加到 MongoDB 中 我知道通过简单的 从用户中选择 操作来检索这些记录将花费大量时间
  • MySQL 复制是双向的

    我们已经成功设置了 MySQL 文献中描述的主从复制 不过 我很好奇是否有人设置了双向复制 例如 如果安装了 Drupal 或 Wordpress 第一个 主 数据库服务器出现故障 第二个 从属 数据库服务器恢复正常 与此同时 用户不断进行

随机推荐