Perdemos nosso arquivo my.cnf e estávamos nos perguntando se existe uma maneira de exportar uma cópia da instância mysql atualmente em execução.
Obrigado!
Três (3) Opções
OPÇÃO 1: De dentro do cliente mysql
mysql -uroot -A -e"SHOW GLOBAL VARIABLES;" > MySQLCurrentSettings.txt
Isso capturará todas as opções no arquivo de texto.
OPÇÃO 2: Na linha de comando do Linux
ps -ef | grep mysqld | grep -v grep
Isso mostrará as opções que o mysqld iniciou com como definido no mysqld_safe
OPÇÃO 3: perguntar diretamente ao servidor
mysqld --help --verbose
Na parte inferior da tela 'mysqld --help --verbose', você verá as configurações atuais do mysqld carregadas no my.cnf ou no padrão.
Estas instruções são para o estoque mariadb no centos 7.1.
A seguir, mostramos como fazer backup ou replicar as configurações atuais de uma máquina para uma nova instalação, presente ou futura.
Na máquina da qual queremos copiar as configurações, podemos executar:
Em outra máquina, podemos instalar o mariadb-server e executar:
Em seguida, colocamos os dois arquivos em um diretório, que neste exemplo é "/ a /".
Então nós corremos:
Se não houver saída, os dois arquivos são idênticos. O que significa que todas as configurações, nas duas máquinas, estão no padrão.
Se houver alguma saída, algumas linhas não serão recuadas, enquanto outras serão recuadas.
As linhas não recuadas estão presentes apenas no primeiro arquivo, que aqui é /a/mysql_current_settings.txt.
As linhas de indentenda estão presentes apenas no segundo arquivo, que aqui é /a/mysql_default_settings.txt.
Agora conhecemos todas as configurações, exceto algumas que são definidas na linha de comando que iniciou o mysqld. Essas configurações podem vir dos arquivos /etc/my.cnf ou /etc/my.cnf.d/*, ou um script personalizado ou um alias, etc. Em qualquer caso, podemos vê-los com o seguinte comando:
Agora sabemos as poucas configurações que precisamos alterar em uma nova instalação para configurá-la como antiga.
Aqui seguem alguns outros detalhes.
No centos 7.1, o comando a seguir mostra todas as configurações atuais, exceto algumas configurações definidas na linha de comando que iniciou o mysqld:
No total, mostra:
na primeira parte, as configurações que podemos usar como primeiro parâmetro após o "mysqld" quando o iniciamos;
na segunda parte, as configurações definidas no tempo de compilação;
na terceira parte, as configurações atuais.
Mesmo que a última linha de sua saída diga: para ver quais valores um servidor MySQL em execução está usando, digite:
esse comando não mostra, fe, endereço de ligação, mesmo que o alteremos em /etc/my.cnf e reinicie o mysql.
Além disso, o comando a seguir mostra muitas configurações, mas não o "endereço de ligação":
Note que, no centos 7.1, o mysqld não está no $ PATH.
fonte
Aqui está minha maneira favorita de gerar um my.cnf atual:
No entanto, isso não funciona de maneira confiável no Mac OS X.
Isso produzirá um log de variáveis limpas, comentado, pronto para importar para o my.cnf.
Fonte original: http://www.askapache.com/mysql/view-mysql-variables-my-cnf.html
fonte
mysqld -V|sed 's,^.*\(V.*\)\ for.*,\1,'
. Não tenho certeza se importa, pois acho que o cliente e o servidor estão instalados juntos. Qual é o propósito{{{1
e1}}}
?