MySQL如何开启用户远程登录权限(如何开启mysql的远程权限功能)难以置信

随心笔谈2年前发布 admin
190 0 0

文章摘要

这篇文章介绍了在Docker容器中开启MySQL远程访问权限的详细步骤。主要内容包括: 1. **背景**:在Docker中创建MySQL容器后,无法直接连接到MySQL服务,提示`Access denied`错误。 2. **解决方法**: - 使用`mysql -u root -p`连接本地MySQL服务,验证密码无误。 - 修改MySQL数据库中`root`用户的`host`设置为任意值。 - 冲裁权限表(`flush privileges`)。 - 授予`root`用户远程连接权限(`GRANT ALL PRIVILEGES`)并修改密码。 - 修改数据库配置文件(`.myconfig`)中的`bind-address`,将其从`127.0.0.1`改为`0.0.0.0`。 3. **总结**:通过以上步骤,成功实现了MySQL服务的远程访问权限。 这篇文章为需要在Docker中配置远程访问MySQL的用户提供了实用的解决方案。



目录MySQL开启用户远程登录权限开放MySQL的远程访问权限总结

当在Docker中创建一个Mysql的容器后,需要使用工具如:navicate来连接容器内的MySQL服务,但是

提示Access denied for user ‘root’@ ‘x.x.x.x’ (using password: YES) 错误,用命令进入容器确认密码没有问题,那么就可能是没有开发远程权限。

第一步:选中mysql数据库

use mysql;

第二步:修改库中user表中,user用户的host=%(任意连接)

update user set host=’%’ where user=’root’;

第三步:重新加载权限表

flush privileges;

第四步:给root用户赋予远程连接权限

grant all privileges on *.* to ‘root’@’%’ with grant option;
# 赋予权限并修改密码
alter user ‘root’@’%’ identified with mysql_native_password by ‘123456’;

1.使用 mysql -u root -p 连接到本地MySQL服务

2.登录后使用 use mysql;

3.使用 grant all privileges on . to ‘root’@‘%’ identified by ‘123456’ with grant option; 赋予远程登录用户权限(使用root账号和密码123456,从任何主机连接到mysql服务器),刷新权限 FLUSH PRIVILEGES;

4.使用 select user,host from user 查看系统用户

5.使用 vim /etc/mysql/mysql.conf.d/mysqld.cnf 修改bind-address的访问网址,将 bind-address=127.0.0.1 改成 bind-address=0.0.0.0

6.开放端口 3306(这是MySQL的默认端口) 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:MySQL开放远程连接权限的两种方法MySQL数据库远程访问权限如何打开(两种方法)MYSQL开启远程访问权限的方法MySql如何实现远程登录MySql数据库过程解析

© 版权声明

相关文章