因linux服务器存储空间已满,导致数据库无法正常运行。操作如下:将mysql目录下所有文件转移至/home/ 目录下(因home目录空间较大),然后删除原mysql相关文件。然后对/etc/my.cnf 进行重新配置。
新增配置如下:
datadir=/home/新目录
socket=/home/新目录
innodb_force_packet=6 # service mysql start 命令无法启动数据库,故加上此设置。
max_allowed_packet = 500M
.....
使用 mysql -uroot -p 进入mysql内后
show databases; 运行正常;
use mysql; 运行正常;
show tables;运行正常;
use 业务库;运行正常;
show tables;报错:
ERROR 2006(HY000):MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 3
Current database: cmbcTwo
ERROR 2006(HY000):MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002(HY000):Can't connect to local MySQL server through socket '/home/xx/mysql.sock' (111)
ERROR:
Can't connect to the server
继续操作:
use mysql后
show tables from 业务库; 运行正常;
select count(1) from 业务库.表1;运行正常;
select count(1) from 业务库.表2;报错: ERROR 2013(HY000): Lost connection to MySQL server during query
运行其他表都正常,只有表2不正常,表2 是千万级数据的大表,后台有好多idb文件。
试了各种情况,使用navacat 也能连上,每张表都能打开,只有打开或者备份表2时,还是报错:ERROR 2013(HY000): Lost connection to MySQL server during query。也就是说,表2无法进行任何操作。我们的目标就是要备份表2。
这个是环境变量没有改导致的,文件移动了,相应环境变量的地址也需要改变,不然就会出现找不到服务的情况
是不是表被移动过?