sysbench mysql oltp_sysbench oltp测试MySQL问题

原创文章,转载请注明: 转载自Erlang非业余研究

本文链接地址: sysbench oltp测试MySQL问题

昨天有同学在使用sysbench时候遇到了点小麻烦:

$ sysbench --test=oltp --oltp-table-size=100000000 --oltp-read-only=off --init-rng=on --num-threads=16 --max-requests=0 --oltp-dist-type=uniform --max-time=1800 --mysql-user=root --db-driver=mysql --mysql-table-engine=innodb --oltp-test-mode=simple prepare

sysbench 0.4.12: multi-threaded system evaluation benchmark

FATAL: unable to connect to MySQL server, aborting...

FATAL: error 1049: Unknown database 'sbtest'

FATAL: failed to connect to database server!

...

错误提示说:mysql连接不上, sbtest库没找到。

首先确认mysql是正常的…

$ mysql -u root

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 91

Server version: 5.1.48-debug-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use sbtest;

ERROR 1049 (42000): Unknown database 'sbtest'

但是库 sbtest确实不存在。

通过查看sysbench-0.4.12/sysbench/drivers/mysql/drv_mysql.c:400行

DEBUG("mysql_real_connect(%p, \"%s\", \"%s\", \"%s\", \"%s\", %u, \"%s\", %s)",

con,

host,

args.user,

args.password,

args.db,

args.port,

args.socket,

(MYSQL_VERSION_ID >= 50000) ? "CLIENT_MULTI_STATEMENTS" : "0"

);

if (!mysql_real_connect(con,

host,

args.user,

args.password,

args.db,

args.port,

args.socket,

#if MYSQL_VERSION_ID >= 50000

CLIENT_MULTI_STATEMENTS)

#else

0)

#endif

我们可以看到sysbench在连接的时候需要先连接到sbtest库,但是库不存在,所以出现问题。

解决问题的方法很简单:

在mysql的shell下运行:

create database sbtest;

搞定。

小结:开源软件总是有点小问题,自己动手丰衣足食!

玩得开心!

Post Footer automatically generated bywp-posturl pluginfor

wordpress.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值