远程访问本地mysql

本文详细指导如何在Linux和Windows上设置MySQL允许外部访问,包括修改my.ini或my.cnf文件、创建远程用户、配置权限、开放防火墙端口以及连接验证的命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


连接命令

mysql -h <host> -P <port> -u <user> -p
  • 这是一个用于在命令行中连接到MySQL数据库的命令。
  • -h <host>:指定要连接的MySQL主机名或IP地址。你需要将<host>替换为实际的主机名或IP地址。
  • -P <port>:指定要连接的MySQL服务器的端口号。你需要将<port>替换为实际的端口号。
  • -u <user>:指定要使用的用户名。你需要将<user>替换为实际的用户名。
  • -p:提示输入密码。当你运行命令后,会要求你输入密码。

操作步骤:

  • 设置本地mysql允许外部访问
  • 创建外部访问的mysql用户
  • 配置mysql用户的权限
  • 配置防火墙端口

一、设置本地mysql允许外部访问

找到mysql配置文件my.ini ,linux环境是my.cnf

  • cmd环境输入where mysql,会输出mysql的安装路径。
    在这里插入图片描述

  • 复制输出的路径,文件管理器打开路径。my.ini就在上面\bin目录的同级目录中。

在这里插入图片描述

配置mysql配置文件

  • 修改mysql的配置文件,修改或添加 bind-address属性
bind-address=0.0.0.0

这将允许MySQL服务器接受来自任何IP地址的远程连接请求。如果你只想允许特定IP地址的连接,可以将 0.0.0.0 替换为相应的IP地址。

在这里插入图片描述

二、创建外部访问的mysql用户

要在mysql环境下设置(root登陆mysql):

在MySQL中,每个用户需要有一个用户名和密码,以便进行身份验证。

CREATE USER 'user_name'@'%' IDENTIFIED BY 'password'
  • CREATE USER:表示创建一个新用户。
  • 'user_name'@'%':指定要创建的用户的用户名和允许连接的主机。在这个例子中,'user_name' 是你要创建的用户的名称,'%' 表示允许从任何主机进行连接。你可以将 '%' 替换为特定的主机名或IP地址,以限制连接来源。
  • IDENTIFIED BY 'password':指定用户的密码。在这个例子中,'password' 是你要为用户设置的密码。请确保使用强密码来保护用户账户的安全。

三、配置mysql用户的权限

我们需要使用GRANT语句授予remoteuser用户相应的权限,以便远程访问MySQL数据库。

要在mysql环境下设置(root登陆mysql):

GRANT ALL ON database_name.*  TO 'rem'@'%'
  • GRANT ALL:表示授予用户所有权限,包括 SELECT、INSERT、UPDATE、DELETE、CREATE、DROP 等。
  • ON database_name.*:表示授予权限的数据库和表。在这个例子中,database_name.* 表示授予用户在 database_name 数据库中的所有表上的权限。你可以将 database_name 替换为你想要授权的数据库名,或者使用 *.* 表示所有数据库和表。
  • TO 'rem'@'%':表示将权限授予用户名为 'rem',并允许从任何主机(%)进行连接。你可以将 'rem' 替换为你想要授权的用户名,'%' 替换为特定的主机名或IP地址。

重启mysql

net stop mysql && net start mysql

四、配置防火墙端口

五、连接

mysql -h <host> -P <port> -u <user> -p

查看本地ip地址

ipconfig

在这里插入图片描述

参考

mysql怎么设置远程访问-mysql教程-PHP中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值