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.

rakieta
źródło
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.

rakieta
źródło
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
Steve Dörre
źródło
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

użytkownik1007017
źródło
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

Chinmaya B
źródło
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 ]
rab
źródło
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.

Alain
źródło
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.

Pablo Bianchi
źródło
-1

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

Bert
źródło
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