ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Coroutine\MySQL 启用协程MySQL客户端 ---- * **请勿同时使用异步回调和协程`MySQL`** 使用示例 --- ```php $swoole_mysql = new Swoole\Coroutine\MySQL(); $swoole_mysql->connect([ 'host' => '127.0.0.1', 'port' => 3306, 'user' => 'user', 'password' => 'pass', 'database' => 'test', ]); $res = $swoole_mysql->query('select sleep(1)'); ``` defer特性 --- 请参考[并发Client](http://wiki.swoole.com/wiki/page/p-coroutine_multi_call.html)一节。 存储过程 --- 从`4.0.0`版本后, 支持`MySQL`存储过程和多结果集获取 MySQL8.0 --- `Swoole-4.0.1`或更高版本支持了`MySQL8`所有的安全验证能力, 可以直接正常使用客户端,而无需回退密码设定 --- #### 4.0.1 以下版本 `MySQL-8.0`默认使用了安全性更强的`caching_sha2_password`插件, 如果是从`5.x`升级上来的, 可以直接使用所有`MySQL`功能, 如是新建的`MySQL`, 需要进入`MySQL`命令行执行以下操作来兼容: ```SQL ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; flush privileges; ``` 将语句中的 `'root'@'localhost'` 替换成你所使用的用户, `password` 替换成其密码. 如仍无法使用, 应在my.cnf中设置 `default_authentication_plugin = mysql_native_password`