Mysql数据库自建,使用,问题排查最佳实践 删除数据deleted 语法格式:delete from 表名 where 条件; 注意:没有条件,整张表的数据会全部删除! plaintext delete from tuser where id 2; insert into tuser(id) values(2); delete from tuser; // 删除所有 快速删除表中的数据; plaintext //删除deptbak表中的数据 delete from deptbak; mysql> select from deptbak; Empty set (0.00 sec) 删除表操作; plaintext drop table 表名; // 删除表。 mysql常见问题及解决思路 案例一:Too many connections(连接数过多,导致连接不上数据库,业务无法正常进行) 问题复现: plaintext mysql> SHOW VARIABLES LIKE 'maxconnections'; 将当前数据库允许最大连接数设置为1 ++ Variablename Value ++ maxconnections 800 ++ 1 row in set (0.03 sec) mysql> set global maxconnections1; Query OK, 0 rows affected (0.00 sec) mysql> SHOW VARIABLES LIKE 'maxconnections'; ++ Variablename Value ++ maxconnections 1 ++ 1 row in set (0.00 sec) [root@mysql ~] mysql uroot predhat mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 1040 (HY000): Too many connections 报错,太多连接 解决思路: 首先先要考虑在我们 MySQL 数据库参数文件里面,对应的 maxconnections 这个参数值是不是设置的太小了,导致客户端连接数超过了数据库所承受的最大值。 该值默认大小是 151,我们可以根据实际情况进行调整。 对应解决办法: plaintext set global maxconnections500 但这样调整会有隐患,因为我们无法确认数据库是否可以承担这么大的连接压力,就好比原来一个人只能吃一个馒头,但现在却非要让他吃 10 个,他肯定接受不了。反应到服务器上面,就有可能会出现宕机的可能。 所以这又反映出了,我们在新上线一个业务系统的时候,要做好压力测试。保证后期对数据库进行优化调整。 其次可以限制 InnoDB的并发处理数量,如果 innodbthreadconcurrency 0(这种代表不受限制) 可以先改成 16 或是 64 看服务器压力。 如果非常大,可以先改的小一点让服务器的压力下来之后,然后再慢慢增大,根据自己的业务而定。