标签: libmysql

Ruby gem mysql2安装失败

当我尝试安装mysql2 gem时,它失败并没有明显的错误.有谁知道如何解决这个问题,所以mysql2安装?

$ sudo gem install mysql2
Building native extensions.  This could take a while...
ERROR:  Error installing mysql2:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
checking for rb_thread_blocking_region()... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no …
Run Code Online (Sandbox Code Playgroud)

ruby mysql rubygems libmysql mysql2

71
推荐指数
6
解决办法
8万
查看次数

mysql2.so:libmysqlclient_r.so.15:无法打开共享对象文件:没有这样的文件或目录

我正在尝试使用Ubuntu 10.04服务器,sphinx,myql2版本0.2.7和percona服务器5.5(Myslql 5.5)运行Rails两个应用程序.irb中的mysql2工作正常,我可以连接到db.这个rails 2应用程序正在另一个带有MySql 5.1的Centos服务器上运行.当我跑:

script/server -e production 
Run Code Online (Sandbox Code Playgroud)

我明白了:

mysql2.so:libmysqlclient_r.so.15:无法打开共享对象文件:没有这样的文件或目录

这是我的libs:

# ls -l /usr/lib |grep sql
-rw-r--r--  1 root root 10581008 2011-11-18 16:51 libmysqlclient.a
lrwxrwxrwx  1 root root       16 2011-12-10 05:48 libmysqlclient_r.a -> libmysqlclient.a
lrwxrwxrwx  1 root root       20 2011-12-10 05:48 libmysqlclient.so -> libmysqlclient.so.16
lrwxrwxrwx  1 root root       29 2011-12-10 06:01 libmysqlclient.so.15 -> /usr/lib/libmysqlclient.so.16
-rw-r--r--  1 root root     7332 2011-11-18 16:44 libmysqlservices.a
-rw-r--r--  1 root root   562520 2010-02-08 06:59 libsqlite3.a
-rw-r--r--  1 root root      973 2010-02-08 06:59 libsqlite3.la
lrwxrwxrwx …
Run Code Online (Sandbox Code Playgroud)

mysql ubuntu libmysql mysql2 ruby-on-rails-2

24
推荐指数
2
解决办法
4万
查看次数

最便宜的方法来确定MySQL连接是否仍然存在

我有一个基于Web的数据服务的MySQL连接池.当它开始为请求提供服务时,它需要从池中连接才能使用.问题是如果自从使用该特定连接以来已经存在显着的暂停,则服务器可能已经将其计时并且关闭其结束.我希望能够在池管理代码中检测到这一点.

诀窍是:我编码的环境只给我一个非常抽象的API连接.我基本上只能执行SQL语句.我无权访问实际的套接字或直接访问MySQL客户端API.

所以,问题是:我可以在连接上执行哪个最便宜的MySQL语句,以确定它是否正常工作.比如SELECT 1;应该工作,但我想知道是否有更便宜的东西?也许某些东西甚至没有通过网络,但在MySQL客户端库中处理并有效地回答相同的问题?

澄清:我不关心检查MySQL服务器是否正在运行,或者它的数据库配置是否足以回答查询.如果这些事情发生故障,那么服务执行的后续SQL将获取并处理相应的错误.我真的只关心TCP连接是否打开...因为如果服务器关闭它,那么Web服务的SQL将收到一个错误,意味着"只需重新连接并再试一次",这样就不方便了.服务代码的渣土.

关闭:/* ping */黑客正是那种我一直在寻找的东西,但可惜只能通过JDBC.通过文档阅读该hack,很明显它被放在那里的原因与我想要的完全相同.对于好奇,我在Haskel工作,使用HDBCHDBC-mysql.我将要求HDBC-mysql的作者添加一种mysql_ping()直接或通过类似黑客调用的方法.

Vlad's DO 1也是我追求的那种东西,而且由于另一个hack在JDBC之外是不可用的,我将使用它.

感谢所有精彩的讨论,特别是@Vlad!

mysql libmysql hdbc

13
推荐指数
2
解决办法
2万
查看次数

OS X上的CLSQL和MYSQL

我正在研究OS X 10.6.4.我一直在使用clbuild为SBCL安装支持库(包括clsql),我通过Aquamacs完成所有工作.我使用Hive Logic上优秀指令安装了MySQL .但是,当我调用(require 'clsql)- 这似乎工作正常 - 然后尝试执行(clsql:connect '(nil "lisp" "root" "") :database-type :mysql)连接到我的本地运行数据库时,我收到此错误消息:

erred while invoking #<COMPILE-OP (:VERBOSE NIL) {12096109}> on
#<CLSQL-MYSQL-SOURCE-FILE "clsql_mysql" {1208E071}>
   [Condition of type ASDF:OPERATION-ERROR]
Run Code Online (Sandbox Code Playgroud)

从我对这个问题的研究中,我认为它来自我没有libmysqlclient.dylib文件的编译版本,我在/ usr/local/mysql/lib /中有一个副本,但我不清楚如何去编译它.这个论坛帖似乎说我正是我需要做的,但该目录中没有make文件.

mysql common-lisp clsql libmysql

13
推荐指数
1
解决办法
718
查看次数

"set names"vs mysqli_set_charset - 除了影响mysqli_escape_string之外,它们是否相同?

似乎是常识使用mysql_set_charset/ mysqli::set_charset,而不是直接的MySQL查询的set names.

经常被引用的原因set names是不安全,因为用于mysql_real_escape_string/ 的编码mysqli::real_escape_string只能通过调用mysql_set_charset/ 来设置mysqli::set_charset.(引用的另一个原因是PHP文档说它"不推荐" §.)

但是,set names如果我们使用预备语句mysql_real_escape_string/mysqli::real_escape_string或除了// 之外的其他逃逸方法,使用直接MySQL查询是否安全mysqli_escape_string

除了影响mysql_real_escape_string/ mysqli::real_escape_string/ 的编码, vs/?mysqli_escape_string之间有什么区别吗?set namesmysql_set_charsetmysqli::set_charset

php mysql security encoding libmysql

12
推荐指数
2
解决办法
796
查看次数

libmysqlclient.a和libmysqlclient_r.a有什么区别?

我应该使用哪个链接mysqlclient库?他们之间有什么区别?我似乎无法找到答案.谢谢.

c c++ mysql libmysql

7
推荐指数
3
解决办法
7496
查看次数

mysqlclient.lib 的来源在哪里?

我有一个连接到 MySQL 服务器的 C++ 应用程序。
一切正常。

目前它使用 libmysql.dll。
在构建时,我链接到 libmysql.lib。

据我所知,我可以链接到 mysqlclient.lib 并摆脱对 libmysql.dll 的依赖,即将功能嵌入到我的 exe 中。

我的问题是:在哪里可以找到构建 mysqlclient.lib 的源代码

当调试应用程序时,它链接到 mysqlclient.lib 并进入 mysql_library_init() 例如调试器 (VC++ 2008) 要求文件“f:\build\mysql-5.0.67-winbuild\mysql-community-nt-5.0 .67-build\libmysql\libmysql.c”。

注意:安装 MySQL 时包含 libmysql.lib 和 mysqlclient.lib。

c mysql libmysql

5
推荐指数
1
解决办法
6631
查看次数

EnvironmentError:找不到mysql_config

EnvironmentError:找不到mysql_config,同时安装MySQL-python

有人可以建议我做什么?我从我这边做了以下事情:

使用pip安装时出错:

  ubuntu12.04@ubuntu12.04:~$ sudo pip install MySQL-python
    Downloading/unpacking MySQL-python
    Downloading MySQL-python-1.2.4.zip (113kB): 113kB downloaded
    Running setup.py egg_info for package MySQL-python
    sh: 1: mysql_config: not found
 Traceback (most recent call last):
  File "<string>", line 16, in <module>
  File "/tmp/pip_build_root/MySQL-python/setup.py", line 18, in <module>
    metadata, options = get_config()
  File "setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "setup_posix.py", line 25, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
Complete output from command python setup.py egg_info:
sh: …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-python libmysql

5
推荐指数
2
解决办法
2万
查看次数

为什么Qt Configure在交叉编译时无法在目标上找到正确的MySQL安装?

我想建立MySQL驾驶员在交叉编译Qt5Arm(Raspberry Pi)

  • 为了检查MySQL目标上的客户端库安装,我们运行:
pi@raspberrypi:~ $ mysql_config --version
10.1.38
pi@raspberrypi:~ $ mysql_config --include
-I/usr/include/mysql
pi@raspberrypi:~ $ mysql_config --libs
-L/usr/lib/arm-linux-gnueabihf  -lmariadbclient -lpthread -lz -lm -ldl
Run Code Online (Sandbox Code Playgroud)
  • 我们这样配置Qt
../configure -opengl es2 -device linux-rpi3-g++ -device-option CROSS_COMPILE=$RPI_TOOLCHAIN -no-use-gold-linker -qt-xcb -xcb -sysroot $RPI_SYSROOT -opensource -confirm-license -nomake examples -nomake tests -release -make libs -prefix /usr/local/qt5pi -sql-mysql -recheck-all
Run Code Online (Sandbox Code Playgroud)
  • 配置将抛出错误:
ERROR: Feature 'sql-mysql' was enabled, but the pre-condition 'libs.mysql' failed
Run Code Online (Sandbox Code Playgroud)

注意:

  • 如果我们看一下,config.log似乎Qt Configure会在主机而不是sysroot或target中寻找MySQL!
[...]
looking for library mysql …
Run Code Online (Sandbox Code Playgroud)

qt libmysql qtsql qt5 raspberry-pi

5
推荐指数
1
解决办法
168
查看次数

MariaDB 服务器在 600 秒后客户端连接超时

我的 MariaDB 服务器在 600 秒(10 分钟)不活动后使我的 C++ 客户端(使用 libmariadb)超时,我不确定为什么,因为我找不到任何指定该数字的已配置超时。

这是我的代码,我在其中执行一个简单的 SELECT 查询,等待 11 分钟,然后再次运行相同的查询并收到“服务器消失”错误:

#include <iostream>
#include <unistd.h>

#include <errmsg.h>
#include <mysql.h>

int main(int, char**)
{
    // connect to the database
    MYSQL* connection = mysql_init(NULL);
    my_bool reconnect = 0;
    mysql_options(connection, MYSQL_OPT_RECONNECT, &reconnect);  // don't implicitly reconnect
    mysql_real_connect(connection, "127.0.0.1", "testuser", "password",
                       "my_test_db", 3306, NULL, 0);

    // run a simple query
    mysql_query(connection, "select 5");
    mysql_free_result(mysql_store_result(connection));
    std::cout << "First query done...\n";

    // sleep for 11 minutes
    sleep(660);

    // run the query again
    if(! …
Run Code Online (Sandbox Code Playgroud)

mysql sql database libmysql mariadb

4
推荐指数
1
解决办法
2万
查看次数

MySQL C++ Connector是否比MySQL C API慢?

我正在开发一个C++应用程序,它需要连接到MySQL服务器以获取一些信息,但我的应用程序不经常运行查询.所以,由于C++连接器在幕后使用C API ......我对此表示怀疑.我是否会使用C API或C++ API陷入困境?

c c++ mysql libmysql

1
推荐指数
1
解决办法
1021
查看次数