如何在mysql中设置远程访问权限

答案:开启mysql远程访问需修改用户权限并配置服务允许远程连接。首先创建或修改用户’username’@’%’并授权,执行FLUSH PRIVILEGES;然后在my.cnf中设置bind-address=0.0.0.0,重启MySQL服务;最后通过防火墙开放3306端口云服务器还需配置安全组规则。

如何在mysql中设置远程访问权限

要在 MySQL 中开启远程访问权限,需要完成两个主要步骤:修改用户权限,允许从非本地连接;确保 MySQL 服务允许远程连接。以下是具体操作方法。

1. 修改 MySQL 用户权限

默认情况下,MySQL 用户通常只允许从本地(localhost)登录。要允许远程访问,需为用户设置可从其他主机连接的权限。

步骤:

  • 登录 MySQL 服务器(使用 root 或有权限的账户):
    mysql -u root -p
  • 查看当前用户权限:
    select host, user FROM mysql.user;
    如果用户的 host 是 localhost,则无法远程连接。
  • 创建新用户或修改现有用户允许远程访问:
    允许特定用户从任意主机连接(注意安全):
    CREATE USER ‘username’@’%’ IDENTIFIED BY ‘password‘;
    或修改已有用户:
    UPDATE mysql.user SET host=’%’ WHERE user=’username’ AND host=’localhost’;
  • 授予该用户相应权限,例如对所有数据库的访问:
    GRANT ALL PRIVILEGES ON *.* TO ‘username’@’%’;
    若只需访问某个数据库:
    GRANT ALL PRIVILEGES ON database_name.* TO ‘username’@’%’;
  • 刷新权限使更改生效:
    FLUSH PRIVILEGES;

2. 配置 MySQL 服务允许远程连接

MySQL 默认可能绑定到本地地址(127.0.0.1),阻止外部连接。需修改配置文件

如何在mysql中设置远程访问权限

如知AI笔记

如知笔记——支持markdown的在线笔记,支持ai智能写作、AI搜索,支持DeepseekR1满血大模型

如何在mysql中设置远程访问权限27

查看详情 如何在mysql中设置远程访问权限

步骤:

  • 找到 MySQL 配置文件 my.cnf 或 my.ini(linux 通常在 /etc/mysql/my.cnf 或 /etc/my.cnf,windows 在安装目录下)。
  • 找到 [mysqld] 段落,修改或添加以下行:
    bind-address = 0.0.0.0
    这表示监听所有网络接口。若只想允许特定 IP,可设为该 IP。
  • 确保跳过网络限制(确认无 skip-networking 选项启用)。
  • 保存文件并重启 MySQL 服务:
    Linux 示例:
    sudo systemctl restart mysql

    sudo service mysql restart

3. 确保防火墙和安全组放行

即使 MySQL 配置正确,系统防火墙或云服务商安全组也可能阻止 3306 端口

  • 开放 3306 端口(MySQL 默认端口):
    使用 ufw:
    sudo ufw allow 3306
    使用 iptables:
    sudo iptables -A input -p tcp –dport 3306 -j ACCEPT
  • 如果是云服务器(如阿里云、AWS、腾讯云),还需在控制台配置安全组规则,允许入站 TCP 3306 端口。

完成以上步骤后,即可从远程客户端使用如下命令连接:
mysql -h your_mysql_server_ip -u username -p

基本上就这些。只要用户权限、MySQL 配置、网络和防火墙都设置正确,远程访问就能成功。注意安全性,避免将 root 用户暴露给 %,建议使用专用账号并限制 IP 范围。

暂无评论

发送评论 编辑评论


				
上一篇
下一篇
text=ZqhQzanResources