Sysbench MySQL无法连接

我创build了一个名为sbtest的用户,没有密码,对sbtest具有所有权限,并且发生以下错误。 我究竟做错了什么?

$ sysbench --test=oltp run --debug sysbench 0.4.12: multi-threaded system evaluation benchmark No DB drivers specified, using mysql DEBUG: mysql_init(0xc854f0) DEBUG: mysql_real_connect(0xc854f0, "localhost", "sbtest", "(null)", "sbtest", 3306, "(null)", CLIENT_MULTI_STATEMENTS) DEBUG: mysql_real_query(0xc854f0, "SHOW TABLE STATUS LIKE 'sbtest'", 31) = 0 DEBUG: mysql_store_result(0xc854f0) = 0xc9dce0 DEBUG: mysql_num_fields(0xc9dce0) = 18 DEBUG: mysql_fetch_fields(0xc9dce0) = 0xc9fce0 DEBUG: mysql_fetch_row(0xc9dce0) = (nil) ALERT: Error: failed to determine table 'sbtest' type! ALERT: MySQL error: DEBUG: mysql_free_result(0xc9dce0) DEBUG: mysql_close(0xc854f0) FATAL: failed to get database capabilities 

你应该先运行“准备”。 它将创build基准所需的表格。

在你的情况下,应该是

sysbench --test=oltp prepare

创buildsbtest数据库和sbtest用户。

如果你不打算给sysbench命令提供命令参数,那么你需要创build与MySQL服务器交谈时所期望的数据库和用户。

使用root用户或任何您喜欢的方式login到您的MySQL服务器:

 mysql -u root -p 

创buildsbtest数据库, sbtest用户并授予权限:

 CREATE DATABASE sbtest; CREATE USER 'sbtest'@'localhost'; GRANT ALL PRIVILEGES ON * . * TO 'sbtest'@'localhost'; FLUSH PRIVILEGES; quit; 

准备数据库:

 sysbench --test=oltp --db-driver=mysql prepare