Błąd MySQL: partycja z / var / lib / mysql jest zbyt pełna!


15

Otrzymuję ten błąd podczas próby uruchomienia MySQL: The partition with /var/lib/mysql is too full!

Oto wynik 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

To pokazuje, że partycja nie jest prawie pełna.


jaki jest rozmiar loginu binairy w / var / lib / mysql /?
— Rinzwind

Przepraszam, jeśli to głupie pytanie, ale który z nich jest poprawnym dziennikiem: ib_logfile0 lub ib_logfile1?
— rocketgear

hmm, pomyślałbym „server-bin. *” lub „mysql-bin. *”.
— Rinzwind

Wydaje się, że takich plików nie ma w / var / lib / mysql. Ponownie zainstalowałem serwer mysql, ale nic się nie zmieniło.
— rocketgear

z jakiej wersji korzystasz, opisz to
— Chinmaya B

Odpowiedzi:


12

W końcu naprawiłem to, uruchamiając sudo /etc/init.d/mysql start. Musiałem tylko wstawić sudoprzed poleceniem.


1
Jak to naprawić problem? OP dostał ten błąd podczas próby uruchomienia MySQL, a to polecenie nic nie robi, aby pomóc.
— Paul Lo

@PaulLo to naprawdę pomaga. Zapomniałem dodać sudo.
— shukshin.ivan

4
Nie rozumiem, jak to zyskało 8 głosów pozytywnych.
— Parth Thakkar

Naprawiłem to dla mnie. Nie wiem, dlaczego to działa, ale działa. Podczas próby uruchomienia mysql pojawiał się błąd informujący, że partycja jest pełna. Uruchomiłem polecenie za pomocą sudo i mysql zaczął działać dobrze.
— Gavin,

Wow, sudo service mysql restartmówił , że wszystko jest dobrze, ale uruchomienie tego polecenia naprawiło problem. Nie rozumiem różnicy ...
— George Dimitriadis,

6

Spróbuj tego:

sudo service mysql stop
sudo service mysql start

1
miałem ten sam problem: „Partycja z / var / lib / mysql jest zbyt pełna!” i naprawiłem to w ten sposób!
— Steve Dörre,

@KasiyA tak, to jest odpowiedź na pytanie (ale jest taka sama jak odpowiedź udzielona przez samego rakietę) (stop / start naprawi to zawiadomienie)
— Rinzwind

@Rinzwind uhh. przepraszam
— αғsнιη

w moim przypadku sudo /etc/init.d/mysql startnie działa ....
— Steve Dörre

3

W moim przypadku błąd spowodował zmianę adresu IP na serwerze.

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

zmienianie

 bind-address       

w

 /etc/mysql/my.cnf

do aktualnego adresu IP i zrestartowanie serwera

sudo /etc/init.d/mysql start

Rozwiązać problem


2

Istnieją dwa możliwe problemy z pakietem Mysql:

  1. Naprawdę problem z przestrzenią:

    Wiele dystrybucji ma swój katalog / var w oryginalnej partycji głównej, która nie jest wystarczająco duża, aby pomieścić rzeczywiste dane. Zwykle tworzą osobną partycję dla / usr z mnóstwem miejsca

    Sprawdź to, a otrzymasz pełne dane i swoją odpowiedź

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

  2. Jest to błąd, który mógł nie zostać naprawiony. Aby go naprawić, postępuj zgodnie z tym artykułem:

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


1

Napotkałem ten sam problem, w moim przypadku działała inna usługa 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

Potem zacząłem MySQL.

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

0

Na partycji /varznajduje się kilka katalogów, które gromadzą wiele plików, które mogą wypełnić partycję.

W moim przypadku zapisywanie dzienników w trakcie /var/logswypełniania /varuniemożliwiło mi uruchomienie mysql.

Usunąłem niektóre z tych starych dzienników i to rozwiązało mój problem. Jeśli nie masz rotacji dzienników, lepiej wypróbuj acerlo, ponieważ jeśli nie masz tego procesu, dzienniki mogą zsumować wiele GB w jednym pliku.


0

W moim przypadku żadne z powyższych nie pomogło, problem polegał na tym, że /varbył naprawdę pełny:

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

Więc po prostu ncdusprawdzałem, co zajmuje tyle miejsca:

sudo ncdu /var

Usuń niektóre bezużyteczne rzeczy za pomocą d, ponownie uruchomione

sudo systemctl restart mysql.service

I voila, wszystko działa teraz.


-1

Uruchom polecenie, sudo apt-get --reinstall install mysql-serveraby ponownie zainstalować MySQL. Odtworzy brakujące katalogi i pozwoli na ponowne uruchomienie serwera.


Oto co otrzymałem: 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.Jak korzystać z --configure?
— rocketgear
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.