Respostas:
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:
/usr/libexec/mysqld --help --verbose > mysql_current_settings.txt
Em outra máquina, podemos instalar o mariadb-server e executar:
/usr/libexec/mysqld --help --verbose > mysql_default_settings.txt
Em seguida, colocamos os dois arquivos em um diretório, que neste exemplo é "/ a /".
Então nós corremos:
comm -3 <(sort /a/mysql_current_settings.txt) <(sort /a/mysql_default_settings.txt)
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:
ps -ef | grep mysqld
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:
/usr/libexec/mysqld --help --verbose
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:
mysqladmin variables -uroot -p
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":
mysql -uroot -p -e"SHOW VARIABLES;"
Note que, no centos 7.1, o mysqld não está no $ PATH.
Aqui está minha maneira favorita de gerar um my.cnf atual:
{ echo -e "# MYSQL VARIABLES {{{1\n##\n# MYSQL `mysql -V|sed 's,^.*\(V.*\)\, for.*,\1,'` - By: `logname`@`hostname -f` on `date +%c`\n##"; for l in {a..z}; do echo '#'; mysql -NBe "SHOW GLOBAL VARIABLES LIKE '${l}%'" | sed 's,\t,^= ,' | column -ts^ | tr "\n" '@' | eval $(echo "sed '" "s,@\("{a..u}{a..z}"\),\n\n\1,;" "'") | eval $(echo "sed '" "s,@\(innodb_"{a..z}{a..z}"\),\n\n\1,;" "'") | tr '@' "\n" | sed 's,^,# ,g'; done; echo -e "#\n##\n# MYSQL VARIABLES }}}1"; } | tee ~/mysql-variables.log
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
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 {{{1e 1}}}?