MySQL错误:/ var / lib / mysql所在的分区太满了!


15

尝试启动MySQL时出现此错误: The partition with /var/lib/mysql is too full!

这是输出df -h

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       455G   77G  356G  18% /
none            4,0K     0  4,0K   0% /sys/fs/cgroup
udev            1,9G  4,0K  1,9G   1% /dev
tmpfs           387M  1,3M  386M   1% /run
none            5,0M     0  5,0M   0% /run/lock
none            1,9G  1,2M  1,9G   1% /run/shm
none            100M   28K  100M   1% /run/user

这表明该分区还远远没有满。


/ var / lib / mysql /中的binairy登录的大小是多少?
Rinzwind 2014年

如果这是一个愚蠢的问题,对不起,但是哪个是正确的日志:ib_logfile0或ib_logfile1?
rocketgear

嗯,我想“服务器bin。*”或“ mysql-bin。*”。
Rinzwind 2014年

/ var / lib / mysql中似乎没有这样的文件。我什至已经重新安装了mysql-server,但是什么都没有改变。
rocketgear

您使用的是哪个版本,请描述一下
Chinmaya B 2014年

Answers:


12

我终于通过运行修复了它sudo /etc/init.d/mysql start。我只需要sudo在命令前面插入即可。


1
如何解决此问题?OP尝试启动MySQL时收到此错误,此命令无济于事。
Paul Lo)

@PaulLo真的很有帮助。我忘了补充sudo
shukshin.ivan

4
我不明白这是如何获得8次投票的。
Parth Thakkar

这为我解决了。我不知道为什么会这样,但是可以。我收到错误消息,尝试启动mysql时分区已满。我使用sudo运行了命令,mysql启动正常。
加文

哇,sudo service mysql restart我说一切都很好,但是运行此命令实际上可以解决问题。我没什么不同...
乔治·迪米特里亚迪斯

6

尝试这个:

sudo service mysql stop
sudo service mysql start

1
我遇到了同样的问题:“ / var / lib / mysql的分区太满了!” 我以这种方式解决了!
史蒂夫·多尔2014年

@KasiyA是的,这是一个问题的答案(但这与rocketgear自己给出的答案相同)(停止/开始将纠正此通知)
Rinzwind 2014年

@Rinzwind嗯。对不起
αғsнιη

在我的情况sudo /etc/init.d/mysql start不工作....
史蒂夫Dörre

3

在我的情况下,错误是由于更改了服务器上的IP地址而导致的。

cat /var/log/mysql/error.log

150427 23:01:08 InnoDB: 5.5.43 started; log sequence number 11731761
150427 23:01:08 [Note] Server hostname (bind-address): '192.168.1.234'; port: 3306
150427 23:01:08 [Note]   - '192.168.1.234' resolves to '192.168.1.234';
150427 23:01:08 [Note] Server socket created on IP: '192.168.1.234'.
150427 23:01:08 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
150427 23:01:08 [ERROR] Do you already have another mysqld server running on port: 3306 ?
150427 23:01:08 [ERROR] Aborting

改变

 bind-address       

 /etc/mysql/my.cnf

到当前IP并重新启动服务器

sudo /etc/init.d/mysql start

解决了问题


2

Mysql软件包有两个可能的问题:

  1. 确实是空间问题:

    许多发行版的/ var目录位于原始根分区中,默认情况下,该根目录的大小不足以容纳实际数据。他们通常为/ usr创建具有大量空间的单独分区

    选中此复选框,您将获得完整的详细信息和答案

    /server/256729/error-the-partition-with-var-lib-mysql-is-too-full

  2. 这是一个可能尚未修复的错误,请按照以下文章进行修复:

    https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.0/+bug/118523


1

我遇到了同样的问题,在我的情况下,还有另一个mysql服务正在运行

$ ps -aux | grep mysql
mysql     7241  0.0  5.1 562600 52812 ?        Ssl  13:36   0:02 /usr/sbin/mysql
ubuntu   13580  0.0  0.0  10468   916 pts/0    S+   15:50   0:00 grep --color=au

$ sudo kill  7241

然后我启动了mysql。

$ sudo /etc/init.d/mysql start
* Starting MySQL database server mysqld                                 [ OK ]

0

在分区中/var,有几个目录会累积许多文件,这些文件会填满分区。

在我的情况下,日志被保存为/var/logs填满,这/var阻止了我启动mysql。

我删除了一些旧日志,这解决了我的问题。如果没有日志轮换,则最好尝试使用acerlo,因为如果没有此过程,则日志可以在单个文件中总计多达GB。


0

在我的情况没有以上的帮助下,问题是,/var真正全:

$ df -h
...
/dev/sda3       2.7G  2.7G     0 100% /var

所以我只是用来ncdu检查占用了太多空间的东西:

sudo ncdu /var

使用删除一些无用的东西d,重新启动

sudo systemctl restart mysql.service

而且,现在一切正常。


-1

运行命令sudo apt-get --reinstall install mysql-server以重新安装MySQL。它将重新创建缺少的目录,并允许您再次启动服务器。


这就是我得到的:dpkg: dependency problems prevent configuration of mysql-server: mysql-server depends on mysql-server-5.5; however: Package mysql-server-5.5 is not configured yet.如何使用--configure?
rocketgear
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.