引言
MySQL OCP分成中文和英文两种,Oracle OCP只有英文考试,这里我们用MySQL 8.0 OCP(1Z0-908)的中文真题测试一下ChatGPT,看看ChatGPT能否获得MySQL OCP的认证,用这种方法判断ChatGPT会不会代替我们人类DBA的工作。
测试过程
1报告在MySQL服务器上运行的所有当前连接,ChatGPT准确地列出了3个:
SELECT * FROM performance_schema.threads
SELECT * FROM information_schema.processlist
SHOW FULL PROCESSLIST
2哪条语句可自动为所有用户授予所有角色?
ChatGPT选择了错误的SET ROLE ALL,正确的选项应该是SET PERSIST activate_all_roles_on login=ON
3.可以使用哪个步骤或一组步骤来循环覆盖错误日志
正确的选项是:重命名磁盘上的错误日志文件,然后执行FLUSH ERROR LOGS,ChatGPT又选错了,等我看到后面我才明白ChatGPT为什么会错,原来ChatGPT对flush这个词的中文对应词不清楚
4 分析以下语句,这些语句会成功执行:
TRUNCATE test;
BEGIN;
INSERT INTO test (id, name) VALUES(1, “Hello”) ;
ROLLBACK;
SELECT id FROM test;
下列哪两个存储引擎在执行语句时会返回test表的非空记录集?
显然这道题目是考察事务表的,但ChatGPT的回答是:
这组语句不会成功执行,因为在ROLLBACK语句之后,之前插入的记录将被删除。正确的语句应该是…
ChatGPT根本没有看懂题目
5 使用 MySQL Enterprise Monitor的无代理安装监视 MySQL服务器。以下哪两项功能可用于此安装方法?
ChatGPT的回答又是莫名其妙,显然ChatGPT不知道“无代理安装”就是agentless的安装方式
6 考察OPTIMIZE Table命令,ChatGPT答对了
7 binlog转储线程的题目,ChatGPT答对了
8 关于冷备份,ChatGPT选择的是“是从正在运行的数据库的快照获取的备份”
9 mysqldump --single-transaction --flush-logs --master-data=2 --all-databases>backup_sunday. sql中的 --flush-logs 的作用应该是“它启动一个新的二进制日志”,ChatGPT又选错了,ChatGPT无法把flush对应到中文的启动
总结
9道题目,ChatGPT对了3道,现在没有必要继续进行测试了,ChatGPT无法获得MySQL 8.0 OCP的证书。和之前对ChatGPT进行的Oracle 19c OCP的测试结果不一样,在那次测试中,ChatGPT涉险过关。这次ChatGPT失利的原因主要是对中文的MySQL的专业词汇的理解,这也不能怪ChatGPT,本来MySQL专业词汇就是英文的,中文的翻译地乱七八糟。
看来ChatGPT目前至少是不会代替我们中文MySQL DBA的岗位。