sysbench压测MySQL8问题记录

数据库版本:MySQL8.0.26
sysbench版本:sysbench 1.0.17
CentOS版本:CentOS Linux release 7.9.2009 (Core)

问题一:FATAL: error 2059: Authentication plugin ‘caching_sha2_password’ cannot be loaded

执行

 sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=% --mysql-port=3306  --mysql-user=root --mysql-password='123456' --mysql-socket=/var/lib/mysql/mysql.sock  --mysql-db=sbtest --db-driver=mysql  --tables=10 --table-size=50000  --threads=10  prepare

报错

FATAL: error 2059: Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

原因
网上查到的答案,链接https://lefred.be/content/sysbench-for-mysql-8-0/,关键在于加密默认插件改了,从 mysql_native_password 到 caching_sha2_password了
官网解释https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-4.html
sysbench压测MySQL8问题记录_第1张图片
解决方法
修改加密方式mysql_native_password,注意密码也要跟着重新设置一次。

ALTER USER 'root'@'%' IDENTIFIED with mysql_native_password BY '123456' PASSWORD EXPIRE NEVER;

问题二:FATAL: error 1044: Access denied for user

这个问题是在我新增了账户和数据库进行新的测试时出现的
报错

FATAL: error 1044: Access denied for user 'username'@'%' to database 'dbname';

原因
远程连接用户权限不足,直接原因是创建远程连接用户 ‘usernameroot@%’ 时,没有添加访问数据库的权限。

解决方法
赋予所有权限,有需要的可以对照权限表单独赋权限,官网文档:https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html

grant all privileges on *.* to 'username'@'%' with grant option;
flush privileges;

你可能感兴趣的:(Linux,MySQL,数据库,mysql,服务器,centos,sysbench)