MySQL8.0 permite el acceso externo
1. Condiciones previas:
Después de instalar MySQL según https://blog.csdn.net/h996666/article/details/80917268.
2. Comience a modificar la configuración:
1. Después de iniciar sesión en MySQL,
2. Introduzca la siguiente instrucción para entrar en la biblioteca mysql:
use mysql
3. Actualizar el atributo de dominio, ‘%’ significa que se permite el acceso externo:
update user set host="%" where user="root";
4. Ejecutar después de ejecutar la instrucción anterior:
FLUSH PRIVILEGES;
5. A continuación, ejecute la instrucción de autorización:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
A continuación, se puede acceder al exterior a través de la contraseña de la cuenta.
6. Otras instrucciones:
PRIVILEGIOS DE DESCARGA; La esencia del comando es:
Extraiga la configuración de información/privilegios del usuario actual y las tablas privilige de la biblioteca mysql (la biblioteca integrada de la base de datos MySQL) en la memoria.
Después de modificar los datos y permisos de usuario de MySQL, si desea surtir efecto directamente sin reiniciar el servicio MySQL, debe ejecutar este comando.
Normalmente, después de modificar la configuración de la cuenta ROOT, si tiene miedo de que ya no pueda iniciar sesión después del reinicio, puede ver si la configuración de permisos surte efecto directamente después de vaciar.
Sin correr demasiado riesgo.
3. Otros posibles problemas:
Después de la ejecución, utilice Navicat para conectarse a mysql y el error se notifica de la siguiente manera:
Client does not support authentication protocol requested by server;
Motivo del error:
mysql8.0 introdujo una nueva característica caching_sha2_password; este método de cifrado de contraseñas no es compatible con los clientes debajo de Navicat 12;
Los clientes debajo de Navicat 12 admiten el método de cifrado mysql_native_password;
Solución:
1. Utilice la siguiente instrucción para ver el modo de cifrado actual de MySQL
select host,user,plugin from user;
resultado de búsqueda
+-----------+------------------+-----------------------+
| host | user | plugin |
+-----------+------------------+-----------------------+
| % | root | caching_sha2_password |
| localhost | mysql.infoschema | mysql_native_password |
| localhost | mysql.session | mysql_native_password |
| localhost | mysql.sys | mysql_native_password |
+-----------+------------------+-----------------------+
Mira la primera línea, el método de cifrado raíz es caching_sha2_password.
2. Utilice el comando para modificarlo para mysql_native_password modo de cifrado:
update user set plugin='mysql_native_password' where user="root";
Cuando se conectó de nuevo, se realizó correctamente.
4. Si todavía no puede conectarse
Después de las operaciones anteriores, la conexión todavía no se puede realizar y el problema puede deberse al firewall.
1. La solución para implementar MySQL en el servidor físico es la siguiente:
Un. Abra el número de puerto de MySQL, el número de puerto predeterminado es 3306.
B. Apague el firewall directamente (opere con precaución, no se recomienda. Por supuesto, siéntase libre de probar y jugar…)
2. La solución para implementar MySQL en un equipo en la nube es la siguiente:
Un. Tomemos Alibaba Cloud como ejemplo, busque la instancia, establezca el grupo de seguridad y abra el número de puerto.
.