Qual é a maneira recomendada de implementar certificados SSL para uso com o mysqld?

0

Estou tentando instalar e configurar o mysql em um sistema Fedora 27 que usa um Certificado SSL emitido pelo Lets Encrypt.

Eu instalo o mysql usando dnf, como de costume para instalar pacotes em um sistema Fedora. Eu então copio os Certificados SSL que eu quero usar para / var / lib / mysql e crio entradas no arquivo de configuração mysqld para os certificados SSL. No entanto, quando tento iniciar o servidor executando systemctl start mysqld acabo com um erro que indica que o diretório Data não foi inicializado.

Eu então tento executar o comando mysqld com a opção --initialize e a opção --user especificando o usuário mysql. Eu acabo com um erro que o diretório de dados não está vazio. Parece que a tentativa de iniciar o servidor executando o comando systemctl start mysqld produziu arquivos no diretório de dados, mas mesmo assim falhou, e não limpou corretamente e, portanto, quaisquer outras tentativas de inicialização do diretório de dados falharão.

Então eu manualmente limpei o diretório / var / lib / mysql e então tentei executar o comando mysqld --initialize sem executar o comando systemctl start mysqld primeiro. No entanto, antes de fazer isso, copio o certificado SSL e os arquivos relacionados que desejo usar para o diretório de dados primeiro. Enquanto executando o mysqld --initialze para init o diretório de dados parece ter sucesso, e o servidor mysql inicia com sucesso a execução do systemctl start mysqld subseqüentemente, a saída da execução systemctl status mysqld contém o seguinte:

"O datadir localizado em / var / lib / mysql precisa ser atualizado usando a ferramenta 'mysql_upgrade'. Isso pode ser feito usando as seguintes etapas: 1. Faça o backup de seus dados antes com 'mysql_upgrade' (observo a pobre expressão usada aqui) 2. Inicie o daemon do banco de dados usando 'service mysqld start' 3. Execute mysqld_upgrade com um usuário do banco de dados que tenha privilégios suficientes ... Leia mais sobre o uso do 'mysql_upgrade' em: link "

Deve-se notar também que a saída mostra que a versão do MySQL é 5.7, como eu pretendia instalar.

Por que isso está ocorrendo em uma nova instalação do mysql no Fedora 27? Qual é a maneira recomendada de implementar SSL Certs como parte do processo de instalação inicial do MySQL?

Em qualquer evento, eu tento executar o processo como detalhado na saída do systemctl status mysqld. Eu corro mysql_upgrade -u root, mas, em seguida, obter erros sobre não conseguir se conectar sem uma senha. Então, eu executo mysql_upgrade -u root -p, mas é claro que me pedem uma senha. No entanto, não tenho ideia do que é a senha. De acordo com a documentação de referência, uma senha aleatória foi definida para o usuário root quando o diretório de dados foi iniciado. Além disso, quando o usuário se conecta pela primeira vez ao servidor, aparentemente, o usuário deve ser solicitado a definir uma nova senha? (Isso é de acordo com a documentação de referência, parece, mas parece um pouco estranho se você pudesse simplesmente emitir um comando connect antes de ser solicitado a definir uma nova senha?) Em qualquer caso, eu não consigo conectar ao sistema usando uma senha desconhecida, e um que parece não ser descoberto? Eu então tentei iniciar o diretório de dados usando o método inseguro. Eu considero isso um mau conselho do ponto de vista de segurança, mas mesmo assim acabo com erros mesmo depois disso.

Então eu repito: Qual é a abordagem recomendada para instalar o MySQL para que ele use certificados SSL emitidos por uma AC ao instalar imediatamente?

Quaisquer outros comentários ou conselhos bem-vindos.

    
por Darren Gansberg 02.03.2018 / 12:20

0 respostas