Sysbench MySQL 无法连接

Sysbench MySQL 无法连接

我创建了一个名为 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

答案1

您应该先运行“prepare”。它将创建基准所需的表。

就你的情况来说,应该是

sysbench --test=oltp prepare

答案2

创建sbtest数据库和sbtest用户。

如果您不打算向sysbench命令提供命令参数,那么您将需要创建与 MySQL 服务器通信时所需的数据库和用户。

root使用用户或任何你喜欢的用户登录到你的 MySQL 服务器:

mysql -u root -p

创建sbtest数据库、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

相关内容