MySQL 5.7 Không có thư mục, đăng nhập bằng HOME = /


16

Tôi xin lỗi nếu câu hỏi này đã được hỏi, nhưng tôi không thể tìm thấy bất kỳ giải pháp nào cho vấn đề (có thể nhỏ) này:

Tôi vừa thực hiện một cài đặt mới của mysql-server 5.7 trên máy chủ 14.04. Mỗi khi dịch vụ MySQL khởi động, tôi gặp lỗi này:

root@xxx:/etc/mysql# service mysql restart
 * Stopping MySQL Community Server 5.7.11
...
 * MySQL Community Server 5.7.11 is stopped
 * Re-starting MySQL Community Server 5.7.11
No directory, logging in with HOME=/
..
 * MySQL Community Server 5.7.11 is started

Điều đó nghĩa là gì? Tôi có phải đặt thư mục chính cho người dùng "mysql" không? (và nếu vậy, sự lựa chọn tốt nhất là gì? / home / mysql ??) Bây giờ nó là / nonexistent:

mysql:x:110:106:MySQL Server,,,:/nonexistent:/bin/false

nhưng tôi có một máy khác có cùng / không tồn tại và nó không hiển thị bất kỳ lỗi nào ...


1
/ var / log / mysql ;-) xem: askubfox.com/questions/539440/ trên
Rinzwind

ok, trong trường hợp của tôi, nó đã bắt đầu và có vẻ hoạt động tốt, nó chỉ hiển thị thông báo đó
the_nuts 23/2/2016

Câu trả lời:


30

Có vấn đề tương tự để thoát khỏi lỗi này, tôi đã làm như sau

  1. Dừng dịch vụ MYSQL:

    sudo service mysql stop

  2. Thay đổi thư mục nhà của mysql từ không tồn tại thành thư mục gốc nơi được cho là:

    sudo usermod -d /var/lib/mysql/ mysql

Bây giờ bắt đầu lại máy chủ mysql với:

sudo service mysql start

Thông báo lỗi đã biến mất. Vẫn còn tại sao điều này xảy ra là chưa biết.


1
Nó có thể là một công việc xung quanh nhưng tôi sẽ không đồng ý với điều này. / nhà / là dành cho người dùng. Không phải để tạo một nơi cho người dùng giả cần thiết cho bảo mật / quyền / bất cứ điều gì. Người đề xuất / home / mysql và tạo một người dùng mysql thực tế cần được khiển trách nghiêm túc .
Rinzwind

/ var / lib o / var / log? Dù sao, thư mục đó dường như không được điền bất kỳ dữ liệu nào
the_nuts 23/2/2016

2
vâng, đây là một cách giải quyết cho tôi biết khi bạn tìm ra giải pháp.
Abdul Hayee

1
Theo bài đăng này , Red Hat có thư mục nhà mysql được đặt thành /var/lib/mysql. Vì vậy, điều này có vẻ ổn ....
Ostrokach

2
Đối với những gì nó có giá trị, tôi đã gặp lỗi này khi tôi đang chạy mysql trong Windows WSL. Lỗi đã dừng xảy ra sau khi tôi thoát mysqld.exe trên Windows. Cổng 3306 đã được yêu cầu bởi quy trình Windows.
Azeirah

0

Tôi sẽ đề xuất một giải pháp lâu dài, nếu nó luôn chạy từ cùng một thư mục như tôi cho rằng tại sao không chỉnh sửa người dùng mysql trong / etc / passwd:

mysql:x:106:111:MySQL Server,,,:/var/lib/mysql/:/bin/false
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.