Configurações para permitir que outros PCs se conectem a bancos de dados MySQL (versão Windows)

Página atualizada :
Data de criação de página :

Ambiente operacional

MySQL
  • MySQL 8.0
Windows
  • Janelas 11

Pré-requisitos

MySQL
  • MySQL 8.0
Windows
  • Janelas 11
  • Janelas 10
Servidor Windows
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

pré-condição

  • O MySQL 8 está instalado

Verificando o firewall

No MySQL, o firewall é definido na tela seguinte durante a instalação, portanto, você não precisa definir nenhuma configuração adicional.

Verifique as configurações do firewall por precaução. Como a operação até a exibição difere dependendo da versão do Windows, digite "firewall" no menu Iniciar para exibi-lo.

Selecione "Avançado" no menu à esquerda.

Se você selecionar "Regras de entrada" à esquerda, verá que "Porta 3306" e "Porta 33060" foram adicionadas à lista. Isto é o que foi adicionado no MySQL.

Verificando o arquivo de configuração

Anteriormente, era necessário bind-address alterar a partir do arquivo de configuração, mas na versão atual, esse item não existe, portanto, não há necessidade de alterar a configuração.

O arquivo de configuração do MySQL no Windows pode ser encontrado nos seguintes locais: ProgramData A pasta está oculta, então digite o caminho diretamente na barra de endereços do Explorador de Arquivos ou defina a pasta oculta para ficar visível.

C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

Configurações de permissão de acesso do usuário

Para fazer login em um banco de dados MySQL, você precisa especificar um usuário, mas por padrão todos os usuários só podem acessá-lo localmente. Então, aqui vamos definir permissões para o usuário.

Estou operando em uma conta para root salvar a etapa de adição de conta desta vez. Na operação real, é desejável criar uma conta de usuário separada e permitir a conexão com essa conta.

Há duas maneiras de permitir conexões: usando um comando ou usando a GUI.

Definindo privilégios de acesso do usuário (operações GUI)

No menu Iniciar, selecione "MySQL -> MySQL Workbench 8.0 CE" para iniciá-lo.

Quando você iniciá-lo, há uma instância padrão no canto inferior esquerdo, então selecione-a.

Ser-lhe-á pedida uma palavra-passe, por isso inicie sessão com a conta root.

Selecione a guia Administração no menu Navegador à esquerda e selecione Usuários e privilégios.

Na lista, selecione a conta para a qual você deseja alterar as permissões. root Neste caso, selecionamos uma conta.

Limit to Hosts Matching Acho que há um item e ele está definido como localhost por padrão. Isso significa que ele só pode ser acessado de localhost. Defina esse valor para os endereços IP dos computadores aos quais você deseja permitir conexões. Se você entrar normalmente, apenas uma unidade será direcionada, mas se você quiser selecionar um intervalo, você pode usar o curinga "%", portanto, se você especificar "192.168.0.%", você permitirá "192.168.0.0" ~ "192.168.0.255".

Uma vez inserido, você pode aplicá-lo clicando no botão "Aplicar" no canto inferior direito.

Você pode ver que a lista de usuários também foi alterada.

Definindo privilégios de acesso do usuário (comandos)

suplemento
Não é uma informação definitiva porque está dentro do escopo da pesquisa, mas no MySQL 8, não é possível alterar o host de permissão com um comando após o usuário ser criado, então é necessário confirmar o host no momento da criação do usuário.

No menu Iniciar, selecione "MySQL -> MySQL 8.0 Command Line Client" e execute-o.

Você será solicitado a fornecer uma senha, então digite a senha do root.

Você pode procurar a lista de usuários e hosts digitando o seguinte comando:

select user,host from mysql.user;

Para criar um usuário, digite o seguinte comando: Digite o endereço IP do PC ao qual você deseja se conectar externamente ao "Host de Permissão". Como o curinga "%" pode ser usado, digite "%" para permitir o acesso de todos e "192.168.0.0" ~ "192.168.0.255" para permitir "192.168.0.%". Se você quiser incluir "%", coloque-o entre aspas simples.

create user <ユーザー名>@<アクセス許可ホスト> identified by '<パスワード>';

Exemplo de entrada

create user user1@'192.168.0.%' identified by 'xxxxxxxx';

Consegui criar um usuário com o comando acima, mas não tenho privilégios de acesso, então adiciono permissões com o comando a seguir.

Os tipos de privilégios incluem "ALL [PRIVILEGES]", "CREATE (permissão para criar bancos de dados, tabelas, etc.)" e "SELECT (procurar registros de tabela)". Por favor, verifique o site oficial para o conteúdo das permissões.

As permissões a serem definidas podem ser especificadas por banco de dados ou por tabela. Se você digitar "*.*", poderá definir permissões de acesso para todos os bancos de dados e tabelas.

grant <権限の種類> on <データベース名>.<テーブル名> to <ユーザー名>@<アクセス許可ホスト>;

Exemplo de entrada

grant all privileges on *.* to user1@'192.168.0.%';

Para refletir as configurações, digite o seguinte comando:

flush privileges;

Se você verificar a lista de usuários novamente, poderá confirmar que ela foi criada e configurada.

Verificação de conexão

Qualquer ferramenta que possa ser conectada de fora é boa, mas desta vez vamos tentar nos conectar com o Workbench, o cliente oficial do MySQL.

Inicie o Workbench se você o tiver instalado em outro PC.

Adicione uma conexão MySQL.

Insira as configurações necessárias para a conexão. Você pode usar um nome DNS, mas por algum motivo não consegui me conectar ao Workbench, então o especifiquei por endereço IP.

Se a conexão for verificada e bem-sucedida, pode-se julgar que a configuração é normal.