MYSQL局域网访问

解决办法   grant all privileges on *.* to joe@localhost identified by '1';

      flush privileges;

拿 joe    1 登陆

附:

mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;

权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址连接。
‘连接口令’不能为空,否则创建失败。

mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

<think>好的,我需要帮助用户配置MySQL允许局域网内的其他设备访问。首先,我应该回忆一下相关的步骤和注意事项。根据用户提供的引用,特别是引用[2]和引用[3],配置过程主要涉及修改用户权限和调整MySQL服务器的绑定地址。 首先,用户需要登录到MySQL服务器。使用mysql -uroot -p命令,输入密码后进入MySQL命令行界面。接下来,切换到mysql数据库,使用use mysql;命令。然后检查用户的host字段,确保允许从其他主机连接。根据引用[2],可能需要更新root用户的host字段为'%',表示允许任何主机连接,但需要注意安全风险。 然后,授权用户权限。使用GRANT ALL PRIVILEGES命令,将权限授予特定用户和主机。例如,允许用户'root'从任何IP访问,密码为'password'。之后执行FLUSH PRIVILEGES;使权限生效。 另外,修改MySQL的配置文件,通常是my.cnf或my.ini,找到bind-address参数,将其改为0.0.0.0,这样MySQL会监听所有网络接口,而不仅仅是本地。引用[3]提到这一点很重要,否则即使权限正确,MySQL也可能不接收外部连接。 还需要注意防火墙设置,确保3306端口在局域网内是开放的。这可能涉及到操作系统的防火墙配置,比如在Linux中使用ufw或者iptables,或者在Windows中配置入站规则。 用户可能遇到的问题包括配置文件的位置不确定,不同系统下路径可能不同,比如Linux通常在/etc/mysql/my.cnf,而Windows可能在安装目录下。另外,修改配置文件后需要重启MySQL服务才能生效,比如使用sudo systemctl restart mysql或相应的服务管理命令。 安全问题也是需要考虑的,开放远程访问可能会增加风险,建议使用强密码,并限制访问的IP范围,而不是允许所有IP(%)。如果可能,创建专用用户并赋予最小必要权限,而不是直接使用root账户。 总结步骤应该是:修改配置文件调整绑定地址,更新用户权限,刷新权限,处理防火墙,最后测试连接。确保每一步都正确执行,并验证配置是否生效。</think>配置MySQL允许局域网IP访问需依次完成以下步骤: ### 步骤1:修改MySQL配置文件 1. 找到MySQL配置文件`my.cnf`或`my.ini` - Linux路径:`/etc/mysql/my.cnf` - Windows路径:安装目录下的`my.ini` 2. 修改配置项: ```ini [mysqld] bind-address = 0.0.0.0 # 允许所有IP访问[^3] ``` 3. 重启MySQL服务: ```bash sudo systemctl restart mysql # Linux # 或通过Windows服务管理器重启 ``` ### 步骤2:配置用户权限 1. 登录MySQL: ```bash mysql -u root -p ``` 2. 创建/修改用户: ```sql -- 允许用户root从任意IP访问(生产环境建议限制IP) UPDATE mysql.user SET host='%' WHERE user='root'; [^2] -- 或新建专用用户 CREATE USER 'myuser'@'192.168.0.%' IDENTIFIED BY 'password'; [^1] ``` 3. 授权并刷新权限: ```sql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` ### 步骤3:配置防火墙(关键步骤) - **Linux**: ```bash sudo ufw allow from 192.168.0.0/24 to any port 3306 # 允许局域网段 ``` - **Windows**:在防火墙高级设置中添加3306端口的入站规则 ### 验证配置 ```bash telnet 服务器IP 3306 # 应显示连接成功 mysql -h 服务器IP -u myuser -p # 从其他设备测试登录 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值