Я работаю на сервере FreeBSD 9.2 и запустил mysqltuner.pl
чтобы проверить потребности MySQL в памяти и кэше. Теперь мне нужно добавить my.cnf
файл во FreeBSD, поэтому он использует его вместо auto cnf
файл.
Я могу скопировать my-default.cnf
сюда:
cp /usr/local/share/mysql/my-default.cnf /usr/local/etc/my.cnf
а потом my.cnf
загрузится.
В my-default.cnf
файл показывает эти значения (которые будут перенесены в my.cnf
):
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# *the above innodb line I can set*
# *But where do I get the values below?*
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....
Где мне взять значения выше? Я знаю, что они должны поступать с текущего сервера MySQL, но как мне найти эти настройки?
Должен ли этот вопрос быть на https://dba.stackexchange.com/ ?
Вы можете получить свой ток конфигурация путем входа в mysql и выполнения запроса
SHOW VARIABLES;
Для поиска конкретной конфигурации вы можете использовать синтаксис SQL. Например, чтобы узнать текущий datadir, используйте:
SHOW VARIABLES LIKE '%datadir%';
Ссылка: Официальная документация MySQL
Я знаю, что этому посту несколько лет, и многие вещи изменились после FreeBSD 9.2 (на самом деле это версия 11.1 по состоянию на ноябрь 2017 года), вы можете найти файл my.cnf в
/usr/local/etc/mysql
В общем, вам не нужно определять эти параметры, потому что они вряд ли скомпилированы в mysql, созданный как порт FreeBSD. Вам необходимо изменить параметры, отвечающие за настройку движка БД.
Вот мой конфиг например
[client]
port = *****
[mysqld]
port = *****
skip-external-locking
key_buffer_size = 128M
max_allowed_packet = 1M
table_open_cache = 512
join_buffer_size = 2M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 32M
query_cache_limit = 2M
query_cache_size = 32M
thread_cache_size = 4
thread_concurrency = 8
event-scheduler = ON
server-id = 1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
Все, что я изменил, это tcp-порт, чтобы не тупо стучать h4xor по стандартному 3306