@bookamba

Как экспортировать my.cnf с дева, что бы использовать как основу на локальном-тестовом сайте?

Всем привет. Суть, есть сервер в интернете, на котором крутиться сайт.
Хочу скопировать с него точные настройки mysql сервера и запустить локально копию что бы настройки соответствовали оригиналу на боевом сервере.

Что делаю:
запускаю
mysqld --help --verbose
И смотрю где лежать файлы конфигурации, вижу
Default options are read from the following files in the given order:
/etc/my.cnf ~/.my.cnf


Смотрю в эти файлы и вижу очень скудное количество настроек:

cat my.cnf
[mysqld]
performance_schema=1
collation-server = utf8_general_ci
character-set-server = utf8
table_open_cache=777777700
local-infile=0
pid-file = /var/lib/mysql/mysqld.pid
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#bind-address = 127.0.0.1

slow_query_log=1
slow_query_log_file=/var/log/mariadb/mysql-slow.log
long_query_time=1

join_buffer_size=22M

key_buffer=512M ## 128MB for every 1GB of RAM
sort_buffer_size=12M ## 1MB for every 1GB of RAM
read_buffer_size=12M ## 1MB for every 1GB of RAM
read_rnd_buffer_size=12M ## 1MB for every 1GB of RAM
thread_concurrency=8 ## Number of CPUs x 2
max_user_connections=100
max_connections=300
max_allowed_packet=512M

query_cache_limit=1M
query_cache_size=0 ## 32MB for every 1GB of RAM
query_cache_type=0

interactive_timeout=600
wait_timeout=60
net_read_timeout=60

innodb_strict_mode=0
innodb_file_per_table=1
#innodb_buffer_pool_size=4096M
innodb_buffer_pool_size=6144M
innodb_flush_log_at_trx_commit=0
innodb_log_file_size=512M
innodb_buffer_pool_instances=4
innodb_thread_concurrency=8 ## Number of CPUs x 2

max_heap_table_size=512M
tmp_table_size=512M

local-infile=1

# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid


второй файл по сути пустой.

Но если выполнить например

mysql -urootikovskiy -A -e"SHOW GLOBAL VARIABLES;" > MySQLCurrentSettings.txt


то в файл MySQLCurrentSettings.txt попадают сотни настроек, упоминания которых даже близко нет в конфигурационном файле.

Вопрос, как же экспортировать настройки сервера? так, что бы они были разделены по секциям

[mysqld]
...

[mysql]
...

[client]
...

и тд.

И при этом это был полный список настроек, с теми переменными значениями, что выдает запрос SHOW GLOBAL VARIABLES; ?

Не понятно, как вытащить отдельно список который относится например только к [mysqld] и отдельно список для [mysql]

потому-что некоторые переменные доступные для секции(группы) [mysqld] просто не работают и выдают ошибки при старте сервера если их прописать для секции(группы) [mysql]

то есть по сути не понятно, как получить конфигурационный файл с полным списком всех VARIABLES И при это что бы они были корректно разделены по своим группам.

Кто знает как это сделать, помогите пожалуйста.

Я стопудов что-то упустил...
  • Вопрос задан
  • 25 просмотров
Решения вопроса 1
В файле вы видите те настройки, которые изменены вручную, остальные настройки оставлены по умолчанию. При выполнении
mysql -urootikovskiy -A -e"SHOW GLOBAL VARIABLES;" > MySQLCurrentSettings.txt
выгружаются и измененные настройки и настройки по умолчанию, поэтому их так много. Используйте настройки из файла и точно такую же версию mysql, и получите аналогичную систему
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы