进行连接
使用数据库的第一步是连接,连接命令为:
1 | mysql -u$username -h$host -P$port -p |
然后输入密码就行了,不推荐在 -p
的后面输入密码,会有安全问题。
此时会去获取你拥有的权限,之后这个连接里的所有权限判断逻辑,都会用此时读取到的权限。也就是说即使在连接后,管理员账号对此账号进行了权限更改,也不会立即生效,而是重新连接后才会生效。
查看连接
连接后,可以使用命令,查看所有连接:
1 | show processlist; |
连接过期
建立连接后, 如果长时间没有操作,会被自动断开,这个时间由参数 wait_timeout
控制,查看方式为:
1 | 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 方式连接.
长/短连接
- 短连接: 每次程序与数据库交互后都会关闭连接,下次查询再新建连接。
- 长连接: 成语与数据库建立连接后,就一直打开,后面的查询会重用这个连接。
短连接每次进行连接时比较耗费资源,但是维护很多长连接也会占用很多内存空间,两者之前的取舍要根据实际情况来定。