MySQL không khởi động lại được trên Ubuntu 16.04


14

Tôi đang cố gắng khởi động lại MySQL sau khi lưu tập lệnh. Các trạng thái lỗi

Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.

Khi chạy systemctl status mysql.serviceđây là những gì tôi nhận được:

Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: activating (start-post) (Result: exit-code) since Isn 2016-09-26 17:15:28 MYT; 17s ago
  Process: 17478 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
  Process: 17474 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 17478 (code=exited, status=1/FAILURE);         : 17479 (mysql-systemd-s)
   CGroup: /system.slice/mysql.service
           └─control
             ├─17479 /bin/bash /usr/share/mysql/mysql-systemd-start post
             └─17516 sleep 1

Tôi không chắc bắt đầu sửa lỗi này ở đâu.

Đây là tập lệnh tôi đã lưu trước khi khởi động lại mysql:

[mysqld]
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'

Chạy journalctl -xe | tail -20cho tôi điều này:

Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.037709Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.037798Z 0 [Warning] Changed limits: max_connections: 214 (requested 350)
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.037809Z 0 [Warning] Changed limits: table_open_cache: 400 (requested 2000)
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.187886Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.189296Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.15-0ubuntu0.16.04.1-log) starting as process 21937 ...
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.191216Z 0 [ERROR] You have enabled the binary log, but you haven't provided the mandatory server-id. Please refer to the proper server start-up parameters documentation
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.191242Z 0 [ERROR] Aborting
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.191255Z 0 [Note] Binlog end
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.191300Z 0 [Note] /usr/sbin/mysqld: Shutdown complete
Sep 26 17:46:29 guest systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
Sep 26 17:46:32 guest NetworkManager[878]: <info>  [1474883192.2910] device (eth0): Lowering IPv6 MTU (9000) to match device MTU (1500)

Chạy ulimit && ulimit -Sacho tôi:

unlimited
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 128071
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 128071
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

1
Bạn có thể nối đầu ra journalctl -xe | tail -50cho câu hỏi của bạn?
LD James

@LDJames toàn bộ đầu ra? Nó khá lớn. Hay nó chỉ là một vài bit cuối cùng?
Edd

Đầu ra sẽ là 50 dòng. Thực tế 15 hoặc 20 dòng nên đủ. Bạn có thể thay đổi -50thành -15. Tôi chỉ muốn chắc chắn bao gồm dòng nơi xảy ra sự cố thực sự.
LD James

@LDJames Tôi thấy, vì vậy đó là những gì lệnh đuôi là dành cho. Tôi đã thêm một journalctl -xe | tail -20đầu ra.
Edd

2
Còn thông báo "LRI: Bạn đã bật nhật ký nhị phân ..." thì sao? Bạn đã có ý định làm điều đó? MySQL mong đợi một id máy chủ ở đó, mà tôi chỉ biết từ các thiết lập master-Slave.
Jos

Câu trả lời:


8

Lỗi nghiêm trọng:

MYQL không khởi động được vì như đầu ra của Nhật ký chỉ ra, but you haven't provided the mandatory server-id. Thêm id bắt buộc như được chỉ ra trong mã bên dưới.

/etc/mysql/mysql.conf.d/mysqld.cnf
Thay đổi từ:

log-bin=mysql-bin
binlog-format = 'ROW'

Thay đổi thành:

server-id=master-01
log-bin=mysql-bin
binlog-format = 'ROW'

Điều này sẽ khiến máy chủ của bạn chạy trong khi bạn giải quyết định dạng đúng của nhật ký mong muốn của bạn.

cảnh báo không gây tử vong:

Đối với giới hạn tệp mở do lỗi của bạn, bạn sẽ phải giảm nhu cầu trong cấu hình bạn đã chỉnh sửa hoặc tăng giới hạn của hệ thống với:

/etc/security/limits.conf

* soft nofile [new number]
* hard nofile [new number]

Cột đầu tiên mô tả WHO giới hạn là áp dụng cho. ' ' là ký tự đại diện, có nghĩa là tất cả người dùng. Để tăng giới hạn cho root, bạn phải nhập rõ ràng 'root' thay vì ' '.

Lấy từ:
https://askubfox.com/a/162230/29012


Đã làm việc! Có phải vì rõ ràng nó là thiết bị chính? Tôi đã thử đưa vào server-id = 1trước nhưng nó không hoạt động.
Edd

Trong những tập tin những điều này nên thay đổi?
Vijay Sharma

Để mysqlchỉnh sửa cấu hình /etc/mysql/mysql.conf.d/mysqld.cnf. Đối với hệ thống open files limitxem tại : /etc/security/limits.conf . Tôi sẽ cập nhật câu trả lời của tôi với thông tin này một lát sau. Bạn có thể cho tôi biết nếu vấn đề của bạn được giải quyết? Bằng cách này tôi có thể bao gồm bất kỳ thông tin thích hợp khác trong câu trả lời.
LD James

2

Có cùng một lỗi, nhưng trong trường hợp của tôi đơn giản là đĩa đã đầy. Hãy chắc chắn để kiểm tra này.

df -h --total

+1 Đây là nó cho tôi. Giải phóng không gian và bắt đầu dịch vụ.
Saif

0

Giải quyết vấn đề bằng cách:

  1. Thêm Swapfile
  2. Thêm innodb_buffer_pool_size = 20Mvào tập tin cấu hình /etc/mysql/my.cnfđể đảm bảo nó nằm trong một nhóm

0

Vấn đề của tôi là IP của máy chủ được thay đổi.

Vì vậy, chỉnh sửa bind-addresstrong /etc/mysql/my.cnfđể chính xác.

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.