Tại sao /etc/mysql/my.cnf EMPTY?


15

Tôi đang cố gắng chỉnh sửa my.cnftệp để cho phép truy cập từ xa và cuối cùng sử dụng phần mềm từ Máy chủ Windows của tôi để định cấu hình sao lưu theo lịch trình cho Máy chủ MySQL.

Tôi đã làm theo các hướng dẫn . Tuy nhiên, /etc/mysql/my.cnftệp trên Ubuntu của tôi chỉ có:

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

Nó không chứa bất kỳ cấu hình nào mà tôi có thể chỉnh sửa. Tại sao nó lại như vậy?


Tất cả điều đó có nghĩa là tệp chỉ ở trạng thái mặc định, ở dạng ban đầu kể từ khi cài đặt
Sergiy Kolodyazhnyy

Câu trả lời:


29

Thứ nhất, như AB chỉ ra một cách đúng đắn, tập tin không trống. Nó có hai chỉ thị khá quan trọng, đó là

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

Những dòng này nói rằng các tệp cấu hình bổ sung (.cnf trong trường hợp này) có thể được tìm thấy trong các thư mục được liệt kê:

/etc/mysql/conf.d/
/etc/mysql/mysql.conf.d/

Cái sau của hai thư mục nên chứa mysqld.cnf . Nói cách khác, tệp cấu hình phù hợp phải là:

/etc/mysql/mysql.conf.d/mysqld.cnf

2
đôi khi không đúng cách khi tôi chỉnh sửa tệp my.conf nửa chừng và ví dụ: đặt Wait_timeout = 600, dịch vụ mysql không thể bắt đầu được nữa ..
phil294

Đây là câu trả lời chính xác cho câu hỏi.
Lasitha Benaragama

Ước gì tôi có thể tìm thấy nó sớm hơn 6 giờ!
tân sinh

@Blauhirn Tương tự ở đây khi tôi nêu mật khẩu ở đây. Không có nó, dịch vụ bắt đầu nhưng rõ ràng trong [mysqld], không phải mọi thứ đều được phân tích cú pháp đúng như Wait_timout và mật khẩu.
min hundje

5

Các tập tin không trống. Nó chứa các bình luận - các dòng có hàng đầu #- và nhập các câu lệnh - các dòng có hàng đầu !. Một báo cáo nhập khẩu có nghĩa là các cấu hình khác cũng sẽ được sử dụng.

Chỉnh sửa tập tin cấu hình cũng có nghĩa là thêm các dòng cấu hình mới.


3

Tập tin của tôi là như nhau. Bạn cần thêm nhóm chính xác phía trên lệnh bạn đang cố gắng đặt nếu không dịch vụ sẽ không bắt đầu.

Để thêm bind-addressbạn sẽ cần phải thêm [mysqld]ở trên nó.

Nếu bạn cần kiểm tra xem các nhóm dành cho các lệnh khác là gì, thì có một my.cnftệp ví dụ ở đây .

Nếu bạn muốn kích hoạt các kết nối từ xa từ tất cả các giao diện (ví dụ 0.0.0.0), tệp của bạn sẽ trông giống như bên dưới, tuy nhiên hãy chắc chắn rằng bạn thiết lập tường lửa chính xác nếu bạn làm như vậy.

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

[mysqld]    
bind-address = 0.0.0.0

Lưu ý nhóm [mysqld].


Đây là một nỗi đau trong **. Đã cố gắng để làm cho các kết nối từ xa hoạt động trong gần hai ngày nay. Kết nối từ xa nên được kích hoạt ra khỏi hộp.
Đánh dấu Alexa

Tại sao bạn sẽ đưa mọi máy chủ cơ sở dữ liệu ra internet? Không có đủ hệ thống không bảo đảm ngoài kia?
A. Scherbaum


2

Trong trường hợp đó, tệp đó không phải là chính trong đó tất cả thông tin về địa chỉ liên kết, binlog và vv bao gồm. Nhưng có một tập tin khác, nơi họ bao gồm. Thử đi:

nano /etc/mysql/mysql.conf.d/mysqld.cnf

Nó đã giúp tôi, và nó sẽ giúp bạn.


1

Trên Ubuntu 16.04 / MySQL 5.7, ít nhất my.cnf thực sự trống vì đó là một liên kết tượng trưng đến một tệp khác có liên kết trở lại với mysql.cnf trong /etc/mysql/mysql.conf.d được đề cập trong các câu trả lời khác. Thực hiện các thay đổi của bạn ở đây như đã đề cập ở trên.

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.