Lỗi MySQL: Phân vùng có / var / lib / mysql quá đầy!


15

Tôi gặp lỗi này khi cố gắng khởi động MySQL: The partition with /var/lib/mysql is too full!

Đây là đầu ra của 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

Điều này cho thấy rằng phân vùng không ở đâu gần đầy.


kích thước của nhật ký binerry trong / var / lib / mysql / là bao nhiêu?
Rinzwind

Tôi xin lỗi nếu đây là một câu hỏi ngớ ngẩn, nhưng câu hỏi nào là nhật ký chính xác: ib_logfile0 hoặc ib_logfile1?
tên lửa

hmm Tôi sẽ nghĩ "máy chủ-bin. *" hoặc "mysql-bin. *".
Rinzwind

Dường như không có các tệp như vậy trong / var / lib / mysql. Tôi thậm chí đã cài đặt lại máy chủ mysql, nhưng không có gì thay đổi.
tên lửa

Bạn đang sử dụng phiên bản whcih nào
Chinmaya B

Câu trả lời:


12

Cuối cùng tôi đã sửa nó bằng cách chạy sudo /etc/init.d/mysql start. Tôi chỉ phải chèn sudovào trước lệnh.


1
Làm thế nào điều này có thể khắc phục vấn đề? OP đã gặp lỗi này khi cố gắng khởi động MySQL và lệnh này không giúp được gì.
Paul Lo

@PaulLo nó thực sự có ích. Tôi quên thêm sudo.
shukshin.ivan

4
Tôi không hiểu làm thế nào điều này có 8 upvote.
Parth Thakkar

CÁi này đã sửa nó giúp tôi. Tôi không biết tại sao điều này hoạt động nhưng nó làm. Tôi đã nhận được lỗi nói rằng phân vùng đã đầy khi cố gắng khởi động mysql. Tôi đã chạy lệnh bằng sudo và mysql khởi động tốt.
Gavin

Wow, sudo service mysql restartđã nói rằng mọi thứ đều tốt, nhưng chạy lệnh này thực sự đã khắc phục vấn đề. Tôi không nhận được sự khác biệt ...
George Dimitriadis

6

thử đi:

sudo service mysql stop
sudo service mysql start

1
tôi gặp vấn đề tương tự 'Phân vùng có / var / lib / mysql quá đầy!' và tôi đã sửa nó theo cách này!
Steve Dörre

@KasiyA vâng, đó là câu trả lời cho câu hỏi (nhưng nó cũng giống như câu trả lời do chính tên lửa đưa ra) (dừng / bắt đầu sẽ khắc phục thông báo này)
Rinzwind

@Rinzwind uhh. xin lỗi
2014

trong trường hợp của tôi sudo /etc/init.d/mysql startkhông hoạt động ....
Steve Dörre

3

Trong trường hợp của tôi, lỗi dẫn đến thay đổi địa chỉ IP trên máy chủ.

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

thay đổi

 bind-address       

trong

 /etc/mysql/my.cnf

đến ip hiện tại và khởi động lại máy chủ

sudo /etc/init.d/mysql start

Đã giải quyết vấn đề


2

Có hai vấn đề có thể xảy ra với gói Mysql:

  1. Thực sự là một vấn đề không gian:

    Nhiều bản phân phối có thư mục / var của chúng trong phân vùng gốc không được tạo đủ lớn theo mặc định để chứa dữ liệu thực tế. Họ thường tạo phân vùng riêng cho / usr với hàng tấn không gian

    Kiểm tra điều này và bạn sẽ nhận được đầy đủ chi tiết và câu trả lời của bạn

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

  2. Đây là một lỗi có thể chưa được sửa và để sửa nó theo bài viết này:

    https://bugs.launchpad.net/ubfox/+source/mysql-dfsg-5.0/+orms/118523


1

Tôi đã phải đối mặt với cùng một vấn đề, trong trường hợp của tôi có một dịch vụ mysql khác đang chạy

$ 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

Sau đó, tôi bắt đầu mysql.

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

0

Trong phân vùng /varcó một số thư mục tích lũy nhiều tệp có thể lấp đầy phân vùng.

Trong trường hợp của tôi, các bản ghi được lưu trong /var/logsviệc điền vào /varđã ngăn tôi khởi động mysql.

Tôi đã xóa một số nhật ký cũ và điều đó đã giải quyết vấn đề của tôi. Nếu bạn không có vòng quay nhật ký, tốt hơn là bạn nên thử acerlo vì nếu bạn không có quy trình này, nhật ký có thể thêm tối đa nhiều GB trong một tệp.


0

Trong trường hợp của tôi không có ở trên giúp, vấn đề là /varđã thực sự đầy đủ:

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

Vì vậy, tôi chỉ sử dụng ncduđể kiểm tra những gì đã chiếm quá nhiều không gian:

sudo ncdu /var

Xóa một số thứ vô dụng với d, khởi động lại

sudo systemctl restart mysql.service

Và voilà, mọi thứ làm việc bây giờ.


-1

Chạy lệnh sudo apt-get --reinstall install mysql-serverđể cài đặt lại MySQL. Nó sẽ tạo lại các thư mục bị thiếu và cho phép bạn khởi động lại máy chủ.


Đây là những gì tôi nhận được: 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.Làm thế nào để tôi sử dụng - hình?
tên lửa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.