go连接mysql大量insert异常_mysql数据库处理连接数过多的问题-Go语言中文社区

mysql数据库启动方式

一、背景

今天后台开发在调试代码的时候出现 1040 - too many connections的报错,本来想着去机器上调大mysql的最大连接数,后来发现通过机器也无法连接数据库

二、报错情况

189dbf38d7befd18cc3906e9a17d6d1b.png

三、处理办法:

重启mysql,但是问题来了,通过kill命令杀掉mysql进程后,发现不知道如何启动mysql了,幸好在kill掉进程之前运行了如下命令,查看mysql进程

8928c712cc1538f99c88be4730387bd3.png

原来以前的运维是直接通过命令加参数指定路径的方式启动的,所以我这里执行了如下操作就成功启动了服务:

/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/mysql1.err --pid-file=/var/lib/mysql/mysql1.pid

四、启动之后,为了解决以后不再出现连接数太多的问题,通过调大mysql最大连接数解决 1040 - too many connections 的问题,一般默认连接数是151

第一种:命令行修改。

[test@mysql ~]$ mysql -uroot -ppassword(命令行登录MySQL)

mysql>show variables like 'max_connections';(查可以看当前的最大连接数)

msyql>set global max_connections=1000;(设置最大连接数为1000,可以再次查看是否设置成功)

mysql>exit(退出)

第二种:修改my.cnf配置文件

这种方式说来很简单,只要修改MySQL配置文件my.ini 或 my.cnf的参数max_connections,将其改为max_connections=1000,然后重启MySQL即可。但是有一点最难的就是my.ini这个文件在哪找。

误区:

一般源码包安装mysql后的启动方式都是通过如下命令:

/etc/init.d/mysqld start

但是由于部署服务的方式不同,所以启动方式也不一样,我这次遇到的启动方式确是直接通过命令指定路径的方式启动的,最后启动成功了:

/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/mysql1.err --pid-file=/var/lib/mysql/mysql1.pid

好了,这就是解决启动报错和处理连接数过多问题的方法了,如有疑问可与博主一起交流讨论!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值