Я пишу приложение, которое пытается удаленно настроить несколько серверов MySQL. Часть этой конфигурации включает установку глобальных переменных MySQL с использованием синтаксиса SQL следующим образом:
SET GLOBAL VARIABLE foo=123;
Это работает хорошо, но длится только до перезапуска сервера. Я бы хотел, чтобы MySQL записал эти изменения в параметры (.ini
), чтобы они сохранялись после перезагрузки компьютера.
Я пытаюсь редактировать файлы параметров, не открывая их напрямую - я бы предпочел делать все через соединение MySQL.
Кто-нибудь знает, можно ли это сделать?
set-variable=var_name=value
классический метод сделать это в my.cnf
. Также вы можете указать using flags как --set-variable=var_name=value
. Ранее, чем MySQL 4.0.2, большинство параметров конфигурации было установлено с использованием этого метода.
Это обесценилось и даже удалено в MySQL 5.5. Большинство параметров можно установить, используя их настоящие имена в my.cnf. Если вам нужна дополнительная помощь, будьте более конкретными.
Чтобы сделать глобальную системную переменную постоянной, вы должны установить ее в файле опций: http://dev.mysql.com/doc/refman/5.0/en/option-files.html
Вы просто можете добавить все переменные в /etc/mysql/conf.d/mysql.cnf
файл сразу после [mysqld].
[mysqld]
max_connections=1000
foo=bar
если вы нашли [mysql], замените его на [mysqld]
Я редактирую переменную в /etc/mysql/mariadb.conf.d/50-server.cnf
под [сервером]
[server]
innodb_file_format=barracuda
innodb_file_per_table=ON