Mysql linux no my cnf

Where is MySQL 5.7 my.cnf file?

In Ubuntu I had my.cnf file of MySQL 5.6 in /etc/my.cnf . But I can’t find the same file of MySQL 5.7. From where can I find that? I did a find in entire / (root). But I couldn’t find it anywhere. Any clues? I’m trying to set max_connections value.

The doc is a bit clear on it. dev.mysql.com/doc/refman/5.7/en/option-files.html . see the comment at the bottom from Tim MAHER-DE TROYER

2 Answers 2

In MySQL 5.7, the default cnf is at:

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

Just a note for people trying to set lower_case_table_names=1 (or 0, 2), type in terminal /etc/home$ mysqld —help —verbose and search for my.cnf, under default options look for places where my.cnf is supposed to be there and then check if actually they exist in file system, if any location is missing this file, copy the contents of mysqld.cnf and paste it in a new file named my.cnf (.my.cnf for ~/ dir).

The file is actually located at /etc/my.cnf or /etc/mysql/my.cnf It has been renamed from mysqld.cnf to just my.cnf in 5.7 dev.mysql.com/doc/refman/5.7/en/option-files.html

Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf The following groups are read: mysql client The following options may be given as the first argument: --print-defaults Print the program argument list and exit. --no-defaults Don't read default options from any option file, except for login file. --defaults-file=# Only read default options from the given file #. --defaults-extra-file=# Read this file after the global files are read. --defaults-group-suffix=# Also read groups with concat(group, suffix) --login-path=# Read this path from the login file. 

Linked

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.7.17.43536

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Как найти расположение MySQL my.cnf

Существует ли команда MySQL для поиска конфигурационного файла my.cnf п одобно тому, как phpinfo() в PHP находит php.ini?

Ответ 1

Ответ 2

На самом деле , вы можете « запросить » у MySQL список всех мест, где он ищет my.cnf (или my.ini в Windows). Однако это не SQL-запрос. Просто выполните команду:

Читайте также:  Oracle 19c requirements linux

$ mysqladmin —help

Или для версии 5.7:

$ mysqld —help —verbose

В самых первых строках ответа вы найдете сообщение со списком всех мест my.cnf. На моей машине это:

Параметры по умолчанию считываются из следующих файлов в указанном порядке:

/etc/my.cnf

/etc/mysql/my.cnf

/usr/etc/my.cnf

~/.my.cnf

Или для Windows:

Параметры по умолчанию считываются из следующих файлов в указанном порядке:

C:\Windows\my.ini

C:\Windows\my.cnf

C:\my.ini

C:\my.cnf

C:\Program Files\MySQL\MySQL Server 5.5\my.ini

C:\Program Files\MySQL\MySQL Server 5.5\my.cnf

Обратите внимание, что может случиться так, что ни в одном из этих мест не окажется файла my.cnf. Поэтому вы можете создать файл самостоятельно — используйте один из образцов конфигурационных файлов, поставляемых с дистрибутивом MySQL (в Linux смотрите файлы /usr/share/mysql/*.cnf и используйте тот, который подходит вам — скопируйте его в /etc/my.cnf, а затем измените по необходимости).

Также обратите внимание, что существует опция командной строки —defaults-file, которая может определить собственный путь к файлу my.cnf или my.ini. Например, для MySQL 5.5 на Windows это указывает на файл my.ini в каталоге данных, который обычно не указывается в mysqld —help —verbose. В Windows — посмотрите свойства службы, чтобы выяснить, так ли это в вашем случае.

Наконец, проверьте сайт https://dev.mysql.com/doc/refman/8.0/en/option-files.html — там все описано более подробно.

Ответ 3

mysql —help | grep /my.cnf | xargs ls

Эта команда подскажет вам, где находится my.cnf на Mac/Linux:

ls: cannot access ‘/etc/my.cnf’: Нет такого файла или каталога

ls: cannot access ‘~/.my.cnf’: Нет такого файла или каталога

/etc/mysql/my.cnf

В данном случае он находится в файле /etc/mysql/my.cnf.

Ответ 4

Это может сработать:

strace mysql «;» 2>&1 | grep cnf

На моей машине этот код выводит:

stat64(«/etc/my.cnf», 0xbf9faafc) = -1 ENOENT (No such file or directory)

stat64(«/etc/mysql/my.cnf», ) = 0

open(«/etc/mysql/my.cnf», O_RDONLY|O_LARGEFILE) = 3

read(3, «# /etc/mysql/my.cnf: The global «. 4096) = 4096

stat64(«/home/xxxxx/.my.cnf», 0xbf9faafc) = -1 ENOENT (No such file or directory)

Таким образом, похоже, что /etc/mysql/my.cnf — то, что надо, поскольку stat64() и read() были выполнены успешно.

Ответ 5

По умолчанию mysql ищет my.cnf сначала в папке /etc. Если в этой папке нет файла /etc/my.cnf, я советую вам создать новый файл в следующей папке, как указано в документации (https://dev.mysql.com/doc/refman/5.6/en/option-files.html).

Вы также можете поискать существующий my.cnf в вашей установке mysql. Для этого запустите следующую команду:

sudo find / -name «*.cnf»

Вы можете использовать следующий конфигурационный файл с таблицей myisam и без поддержки innodb mysql (из установки порта mysql на mac os x maverick). Пожалуйста, проверьте каждую команду в этом конфигурационном файле.

# Пример конфигурационного файла MySQL для большинства систем.

#

# Это работает для большой системы с памятью = 512M, в которой работает в основном

Читайте также:  Настройка графической среды linux

# MySQL.

#

# Программы MySQL ищут файлы опций в нескольких

# местах, которые зависят от платформы развертывания.

# Вы можете скопировать этот файл опций в одно из этих мест. Информацию об этих местах см:

# http://dev.mysql.com/doc/mysql/en/option-files.html

#

# В этом файле вы можете использовать все опции, которые поддерживает программа.

# Если вы хотите узнать, какие опции поддерживает программа, запустите программу

# с опцией «—help».

# Следующие опции будут передаваться всем клиентам MySQL

[client]

#password = your_password

port = 3306

socket = /opt/local/var/run/mysql5/mysqld.sock

# Далее следуют записи для некоторых конкретных программ

# The MySQL server

[mysqld]

port = 3306

socket = /opt/local/var/run/mysql5/mysqld.sock

skip-locking

key_buffer_size = 256M

max_allowed_packet = 1M

table_open_cache = 256

sort_buffer_size = 1M

read_buffer_size = 1M

read_rnd_buffer_size = 4M

myisam_sort_buffer_size = 64M

thread_cache_size = 8

query_cache_size= 16M

# Try number of CPU’s*2 for thread_concurrency

thread_concurrency = 8

# Не следует прослушивать порт TCP/IP. Это может повысить безопасность,

# если все процессы, которым нужно подключиться к mysqld, работают на одном хосте.

# Все взаимодействие с mysqld должно осуществляться через сокеты Unix или именованные каналы.

# Обратите внимание, что использование этой опции без включения именованных труб в Windows

# (с помощью опции «enable-named-pipe») сделает mysqld бесполезным!

#

#skip-networking

# Replication Master Server (по умолчанию)

# Для репликации требуется двоичное протоколирование

log-bin=mysql-bin

# двоичный формат протоколирования — рекомендуется смешанный режим

binlog_format=mixed

# требуемый уникальный идентификатор от 1 до 2^32 — 1

# значение по умолчанию равно 1, если master-host не установлен

# но не будет функционировать как мастер, если пропущено

server-id = 1

# Replication Slave (закомментируйте раздел master, чтобы использовать это)

#

# Чтобы настроить этот хост в качестве ведомого устройства репликации, вы можете выбрать между

# двумя методами:

#

# 1) Использовать команду CHANGE MASTER TO (полностью описана в нашем руководстве) — #

# синтаксис следующий:

#

# CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,

# MASTER_USER=, MASTER_PASSWORD= ;

#

# где , , заменяются строками в кавычках, а

# номером порта мастера (по умолчанию 3306).

#

# Пример:

#

# CHANGE MASTER TO MASTER_HOST=’125.564.12.1′, MASTER_PORT=3306,

# MASTER_USER=’joe’, MASTER_PASSWORD=’secret’;

#

# ИЛИ

#

# 2) Установите переменные, указанные ниже. Однако в случае, если вы выберете этот метод, то

# запустите репликацию в первый раз (даже неудачно, например ,

# если вы неправильно ввели пароль в master-password и ведомому не удается

# подключиться), ведомый создаст файл master.info, и люб ы е последующ и е

# изменения в этом файле значений переменных ниже будут проигнорированы и

# отменяться содержимым файла master.info, если вы не выключите

# ведомый сервер, удалите файл master.info и перезапустите ведомый сервер.

# По этой причине вы можете оставить приведенные ниже строки нетронутыми

# (закомментированные) и вместо них использовать CHANGE MASTER TO (см. выше)

#

# требуется уникальный идентификатор от 2 до 2^32 — 1

# (и отличный от master)

# по умолчанию равен 2, если установлен master-host

# но не будет функционировать как ведомое устройство, если пропущено

#server-id = 2

#

# Мастер репликации для этого ведомого — обязательный параметр

Читайте также:  Google disk linux console

#master-host =

#

# Имя пользователя, которое ведомый будет использовать для аутентификации при подключении

# к ведущему устройству — обязательный параметр

#master-user =

#

# Пароль, с которым ведомый будет аутентифицироваться при подключении к

# ведущим — обязательный параметр

#master-password =

#

# Порт, на котором прослушивается мастер ,

# необязательный параметр — по умолчанию 3306

#master-port =

#

# двоичное протоколирование — не требуется для ведомых, но рекомендуется установить

#log-bin=mysql-bin

# Не комментируйте следующее, если вы используете таблицы InnoDB

#innodb_data_home_dir = /opt/local/var/db/mysql5

#innodb_data_file_path = ibdata1:10M:autoextend

#innodb_log_group_home_dir = /opt/local/var/db/mysql5

# Вы можете установить .._buffer_pool_size до 50 — 80 %

# оперативной памяти, но остерегайтесь слишком большого использования памяти.

#innodb_buffer_pool_size = 256M

#innodb_additional_mem_pool_size = 20M

# Установите размер .._log_file_size на 25 % от размера буферного пула

#innodb_log_file_size = 64M

#innodb_log_buffer_size = 8M

#innodb_flush_log_at_trx_commit = 1

#innodb_lock_wait_timeout = 50

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

# Удалите следующий символ комментария, если вы не знакомы с SQL

#safe-updates

[myisamchk]

key_buffer_size = 128M

sort_buffer_size = 128M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

why can’t I find my.cnf?

What is your operating system ? On Debian Linux, it is located on /etc/mysql/my.cnf. If your cannot find it, you can create one from scratch using this documentation.

If you use Debian Linux or something similar, check the right location in the file /etc/init.d/mysql. In my case I can see CONF=/etc/mysql/my.cnf on the line 25.

You can try following command:

it will show you all locations of *.cnf files

you are a hero. your answer proved to be a great start for me to solve an issue i have been stuck for ages. 🙂

locate will only print files in directories that you can read.

Also, when you say you did updatedb, did you run

If not, then probably what you did run wasn’t equivalent. (The default locate program on Debian/Ubuntu these days is mlocate).

create a configuration file MySQL provides several configuration methods but, in general, it is easiest to to create a my.ini file in the mysql folder. There are hundreds of options to tweak MySQL to your exact requirements, but the simplest my.ini file is:

[mysqld] # installation directory basedir="C:/mysql/" # data directory datadir="D:/MySQLdata/" 

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.7.17.43536

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Оцените статью
Adblock
detector