mysql数据库启动方式
一、背景
今天后台开发在调试代码的时候出现 1040 - too many connections的报错,本来想着去机器上调大mysql的最大连接数,后来发现通过机器也无法连接数据库
二、报错情况
三、处理办法:
重启mysql,但是问题来了,通过kill命令杀掉mysql进程后,发现不知道如何启动mysql了,幸好在kill掉进程之前运行了如下命令,查看mysql进程
原来以前的运维是直接通过命令加参数指定路径的方式启动的,所以我这里执行了如下操作就成功启动了服务:
/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
好了,这就是解决启动报错和处理连接数过多问题的方法了,如有疑问可与博主一起交流讨论!