有时候我们需要查看当前的mysql数据库中, 有哪些客户端保持了连接, 每个客户端分别保持了多少连接,下面的语句能够直观的反馈结果:
SELECT substring_index(host, ':',1) AS host_name,state,count(*) FROM information_schema.processlist GROUP BY state,host_name;
返回的结果类似这个样子:
会列出每个ip当前的状态,以及当前的连接数 。
这个在处理类似碰到数据库 Too Many Connections 等的错误的时候比较有用。
其实是个很简单的主题。
这是一篇备份文章,由于对数据库的操作语句不是特别常用,所以每次这几行代码都记不住,每次又在网上找,太麻烦了,所以就把我亲测有用的代码搬运过来
mysql -uroot -p
输入密码
use mysql
select user,host from user;
看到这个地方的用户是有问题
接下来要把这个host给改成百分号,%代表允许任何ip访问:
update user set host=‘%' where user = ‘root'
确认一下是不是修改成功了:
select user,host from user;
flush privileges;
通常到这里就可以,如果还不行,那就先检查防火墙是否放行mysql端口,如果还不行,考虑一下是不是 阿里云等云服务是不是没有放行端口。
以上为个人经验,希望对您有所帮助。