Linux Mysql 局域网访问权限

在 ubuntu Linux + Mysql 下测试过

一、 修改MYSQL配置文件:

sudo vi /etc/mysql/my.cnf

注释掉:bind-address = 127.0.0.1

二、添加 Mysql 管理帐号:
1、mysql -uroot -p (先登录MYSQL)
2、添加MYSQL帐户
规则:GRANT ALL ON db.table(或*.*) TO username@192.168.1.% IDENTIFIED BY “password”
示例(添加用户lozv,允许访问所有表,允许在局域网段访问):
GRANT ALL PRIVILEGES ON *.* TO ‘lozv’@’192.168.1.%’ IDENTIFIED BY ‘http://lozv.com’;

三、重新启动MYSQL服务:
sudo service mysql restart
sudo /etc/init.d/mysql restart
(不同系统,请自行寻找启动方法)

PS:局域网访问MYSQL有可能会比较慢,你可能需要MYSQL优化,方法如下:

sudo vi /etc/mysql/my.cnf
[mysqld]下面加入如下两行:

skip-name-resolve

skip-grant-tables
重新启动MYSQL
<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、付费专栏及课程。

余额充值