Configuración para permitir que otros equipos se conecten a bases de datos MySQL (versión de Windows)
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.