Чому /etc/mysql/my.cnf ПОЗРАЧЕНО?


16

Я намагаюся редагувати my.cnfфайл, щоб дозволити віддалений доступ і в кінцевому рахунку за допомогою програмного забезпечення з мого Windows Server для налаштування запланованої резервної копії для MySQL Server.

Я дотримувався цих інструкцій . Однак у /etc/mysql/my.cnfфайлі мого Ubuntu є лише:

#
# 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/

Він не містить жодної конфігурації, яку я можу редагувати. Чому це так?


Все, що означає, що файл знаходиться лише у замовчуванні, у оригінальному вигляді з моменту встановлення
Сергій Колодяжний

Відповіді:


29

По-перше, як справедливо зазначає AB, файл не порожній. Він має дві досить важливі директиви, а саме

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

Ці рядки говорять, що додаткові файли конфігурації (у цьому випадку .cnf) можна знайти в перелічених каталогах:

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

Останній з двох каталогів повинен містити mysqld.cnf . Іншими словами, відповідний файл конфігурації повинен бути:

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

2
що-небудь не так. коли я редагую напівпорожній файл my.conf і, наприклад, встановлюю wait_timeout = 600, сервіс mysql більше не можна запускати ..
phil294

Це точна відповідь на запитання.
Ласіта Бенарагама

Бажаю, я міг би знайти його на 6 годин раніше!
неофіт

@Blauhirn Те саме, коли я вказую тут пароль. Без цього сервіс запускається, але, мабуть, під [mysqld] не все аналізується правильно, як wait_timout та пароль.
хв хундже

5

Файл не порожній. Він містить коментарі - рядки з провідними #- та імпортні заяви - рядки з провідними !. Заява імпорту означає, що будуть використані й інші конфігурації.

Редагування конфігураційного файла також означає додавання нових конфігураційних рядків.


4

Мій файл той самий. Вам потрібно додати правильну групу над командою, яку ви намагаєтеся ввести, інакше служба запускається.

Щоб додати, bind-addressвам потрібно буде додати[mysqld] над ним.

Якщо вам необхідно перевірити , які групи для інших команд, є приклад my.cnfфайл тут .

Якщо ви хочете ввімкнути віддалені з'єднання з усіх інтерфейсів (тобто 0.0.0.0), ваш файл виглядатиме приблизно так, як показано нижче, проте будьте впевнені, що правильно налаштували брандмауер.

#
# 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

Зверніть увагу на групу [mysqld].


Це такий біль у **. Вже майже два дні намагаються змусити віддалені зв’язки працювати. Віддалені підключення повинні бути включені поза коробкою.
Марк Алекса

Чому б ви не виставляли кожного сервера баз даних в Інтернет нестандартно? Хіба там недостатньо незахищених систем?
А. Шербаум


3

У цьому випадку цей файл не є головним, де міститься вся інформація про bind-address, binlogs тощо. Але є ще один файл, куди вони включаються. Спробуйте це:

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

Це мені допомогло, і воно повинно вам допомогти.


1

У Ubuntu 16.04 / MySQL 5.7 принаймні my.cnf фактично порожній, оскільки це посилання на інший файл, який посилається на mysql.cnf у /etc/mysql/mysql.conf.d, згаданому в інших відповідях. Внесіть зміни тут, як було сказано вище.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.