Loading... ## 进行连接 使用数据库的第一步是连接,连接命令为: ```sql mysql -u$username -h$host -P$port -p ``` 然后输入密码就行了,不推荐在 `-p` 的后面输入密码,会有安全问题。 <!-- more --> 此时会去获取你拥有的权限,之后这个连接里的所有权限判断逻辑,都会用此时读取到的权限。也就是说即使在连接后,管理员账号对此账号进行了权限更改,也不会立即生效,而是重新连接后才会生效。 ## 查看连接 连接后,可以使用命令,查看所有连接: ```sql show processlist; ``` ## 连接过期 建立连接后, 如果长时间没有操作,会被自动断开,这个时间由参数 `wait_timeout` 控制,查看方式为: ``` show variables like 'wait_timeout'; ``` ``` +---------------+-------+ | Variable_name | Value | +---------------+-------+ | wait_timeout | 28800 | +---------------+-------+ 1 row in set, 1 warning (0.00 sec) ``` 默认为 28000 秒, 即 8 个小时,与之相关的还有 `interactive_timeout` 属性。 他们的区别是 `interactive_timeout` 针对交互式连接, `wait_timeout` 针对非交互式连接. * 交互式连接: 通过 mysql 客户端连接. * 非交互式连接: 通过 jdbc 方式连接. ## 长/短连接 * 短连接: 每次程序与数据库交互后都会关闭连接,下次查询再新建连接。 * 长连接: 成语与数据库建立连接后,就一直打开,后面的查询会重用这个连接。 短连接每次进行连接时比较耗费资源,但是维护很多长连接也会占用很多内存空间,两者之前的取舍要根据实际情况来定。 最后修改:2022 年 05 月 02 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请我喝杯咖啡吧。