mysql设置ip连接

1. 授权用户root使用密码jb51从任意主机连接到mysql服务器:

代码如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'jb51' WITH GRANT OPTION;
flush privileges;

 
2.授权用户root使用密码jb51从指定ip为218.12.50.60的主机连接到mysql服务器:
代码如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'218.12.50.60' IDENTIFIED BY 'jb51' WITH GRANT OPTION;
flush privileges;
配置 MySQL 服务器允许特定 IP 地址访问,需要完成以下几个步骤: ### 配置用户权限 1. 创建或修改 MySQL 用户,使其仅允许从特定 IP 地址连接。例如,若希望用户 `user1` 只能从 `192.168.1.100` 连接数据库 `mydatabase`,可以使用以下命令: ```sql GRANT ALL PRIVILEGES ON mydatabase.* TO 'user1'@'192.168.1.100' IDENTIFIED BY 'your_password'; ``` 此操作会授予该用户对指定数据库的所有权限,并限制其只能从指定的 IP 地址进行连接[^2]。 2. 如果需要进一步限制用户的权限范围,例如仅授予 SELECT 和 UPDATE 权限,则可以使用以下命令: ```sql GRANT SELECT, UPDATE ON mydatabase.* TO 'user1'@'192.168.1.100'; ``` 3. 在修改了用户权限后,必须刷新 MySQL 的权限表以确保更改立即生效: ```sql FLUSH PRIVILEGES; ``` ### 修改 MySQL 配置文件 除了在数据库层面设置权限外,还需检查并可能修改 MySQL配置文件(通常为 `/etc/mysql/my.cnf` 或 `/etc/my.cnf`),确保其监听的网络接口允许远程连接。 1. 打开 MySQL 配置文件并找到 `[mysqld]` 段落。 2. 确保配置项 `bind-address` 设置为允许外部访问的 IP 地址。例如,如果希望 MySQL 监听所有网络接口,可将其设置为 `0.0.0.0`: ```ini bind-address = 0.0.0.0 ``` 若需限制仅监听特定 IP 地址,则将 `bind-address` 设置为该 IP 地址。 3. 保存配置文件并重启 MySQL 服务以应用更改: ```bash sudo systemctl restart mysql ``` ### 防火墙设置 为了确保特定 IP 能够访问 MySQL 数据库,还需要配置服务器的防火墙规则,开放 MySQL 使用的端口(默认为 3306)。 1. 使用 `ufw` 工具添加规则,允许来自特定 IP 的流量通过 3306 端口: ```bash sudo ufw allow from 192.168.1.100 to any port 3306 ``` 上述命令会允许 `192.168.1.100` 的主机访问 MySQL 服务。 2. 检查防火墙状态以确认规则已正确应用: ```bash sudo ufw status ``` ### 测试连接 最后,可以从指定的客户端设备尝试连接 MySQL 服务器,验证是否能够成功建立连接。使用如下命令测试连接: ```bash mysql -h your_mysql_server_ip -u user1 -p ``` 其中 `your_mysql_server_ip` 是 MySQL 服务器IP 地址,`user1` 是之前创建的用户名。 通过以上步骤,MySQL 服务器即可配置为仅允许特定 IP 地址访问,同时确保安全性与可控性[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lm_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值