Configuración para permitir que otros equipos se conecten a bases de datos MySQL (versión de Windows)

Actualización de la página :
Fecha de creación de la página :

Entorno operativo

MySQL
  • MySQL 8.0
Windows
  • Windows 11

Prerrequisitos

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

precondición

  • MySQL 8 está instalado

Comprobación del cortafuegos

En MySQL, el firewall se establece en la siguiente pantalla durante la instalación, por lo que no es necesario configurar ningún ajuste adicional.

Compruebe la configuración de su cortafuegos por si acaso. Dado que la operación hasta la visualización difiere según la versión de Windows, ingrese "firewall" en el menú de inicio para mostrarlo.

Seleccione "Avanzado" en el menú de la izquierda.

Si selecciona "Reglas de entrada" a la izquierda, puede ver que "Puerto 3306" y "Puerto 33060" se han agregado a la lista. Esto es lo que se agregó en MySQL.

Comprobación del archivo de configuración

Anteriormente, era necesario bind-address cambiar desde el archivo de configuración, pero en la versión actual, este elemento no existe, por lo que no es necesario cambiar la configuración.

El archivo de configuración de MySQL en Windows se puede encontrar en las siguientes ubicaciones: ProgramData La carpeta está oculta, así que ingrese la ruta directamente en la barra de direcciones del Explorador de archivos o configure la carpeta oculta para que sea visible.

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

Configuración de permisos de acceso de usuario

Para iniciar sesión en una base de datos MySQL, debe especificar un usuario, pero de forma predeterminada todos los usuarios solo pueden acceder a ella localmente. Entonces, aquí estableceremos permisos para el usuario.

Estoy operando en una cuenta para root guardar el paso de adición de cuenta esta vez. En el funcionamiento real, es deseable crear una cuenta de usuario separada y permitir la conexión a esa cuenta.

Hay dos formas de permitir las conexiones: mediante un comando o mediante la interfaz gráfica de usuario.

Configuración de privilegios de acceso de usuario (operaciones de GUI)

En el menú Inicio, seleccione "MySQL -> MySQL Workbench 8.0 CE" para iniciarlo.

Al iniciarlo, hay una instancia predeterminada en la esquina inferior izquierda, así que selecciónela.

Se le pedirá una contraseña, así que inicie sesión con la cuenta raíz.

Seleccione la pestaña Administración en el menú Navegador de la izquierda y seleccione Usuarios y privilegios.

En la lista, seleccione la cuenta para la que desea cambiar los permisos. root En este caso, hemos seleccionado una cuenta.

Limit to Hosts Matching Creo que hay un elemento y está configurado de localhost forma predeterminada. Esto significa que solo se puede acceder a él desde localhost. Establezca este valor en las direcciones IP de los equipos a los que desea permitir conexiones. Si ingresa normalmente, solo se apuntará a una unidad, pero si desea seleccionar un rango, puede usar el comodín "%", por lo que si especifica "192.168.0.%", permitirá "192.168.0.0" ~ "192.168.0.255".

Una vez ingresado, puede aplicarlo haciendo clic en el botón "Aplicar" en la parte inferior derecha.

Puede ver que la lista de usuarios también ha cambiado.

Configuración de privilegios de acceso de usuario (comandos)

suplemento
No es información definitiva porque está dentro del alcance de la investigación, pero en MySQL 8, no es posible cambiar el host de permisos con un comando después de crear el usuario, por lo que es necesario confirmar el host en el momento de la creación del usuario.

En el menú Inicio, seleccione "MySQL -> MySQL 8.0 Command Line Client" y ejecútelo.

Se le pedirá una contraseña, así que ingrese la contraseña de root.

Puede examinar la lista de usuarios y hosts introduciendo el siguiente comando:

select user,host from mysql.user;

Para crear un usuario, escriba el siguiente comando: Introduzca la dirección IP del PC al que desea conectarse externamente al "Host de permisos". Dado que se puede usar el comodín "%", ingrese "%" para permitir el acceso desde todos y "192.168.0.0" ~ "192.168.0.255" para permitir "192.168.0.%". Si desea incluir "%", escríbalo entre comillas simples.

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

Entrada de ejemplo

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

Pude crear un usuario con el comando anterior, pero no tengo ningún privilegio de acceso, así que agrego permisos con el siguiente comando.

Los tipos de privilegios incluyen "ALL [PRIVILEGES]", "CREATE (permiso para crear bases de datos, tablas, etc.)" y "SELECT (examinar registros de tablas)". Consulte el sitio web oficial para conocer el contenido de los permisos.

Los permisos que se van a establecer se pueden especificar por base de datos o por tabla. Si escribe "*.*", puede establecer permisos de acceso para todas las bases de datos y tablas.

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

Entrada de ejemplo

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

Para reflejar la configuración, escriba el siguiente comando:

flush privileges;

Si vuelve a comprobar la lista de usuarios, puede confirmar que se ha creado y configurado.

Comprobación de conexión

Cualquier herramienta que se pueda conectar desde el exterior está bien, pero en esta ocasión intentaremos conectar con Workbench, el cliente oficial de MySQL.

Inicie Workbench si lo tiene instalado en otra PC.

Agregue una conexión MySQL.

Introduzca la configuración necesaria para la conexión. Puede usar un nombre DNS, pero por alguna razón no pude conectarme a Workbench, así que lo especifiqué por dirección IP.

Si la conexión se comprueba y se realiza correctamente, se puede juzgar que la configuración es normal.