配置mysql允许远程连接的方法

本文介绍了如何修改MySQL配置文件以允许远程连接,并详细讲解了为特定用户授予权限的步骤,包括创建新用户和启用root用户远程访问。通过修改bind-address和使用grant命令,你可以确保从任何地方安全地连接到MySQL服务器。

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

默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。

一、修改/etc/mysql/my.conf
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可

二、为需要远程登录的用户赋予权限
1、新建用户远程连接mysql数据库
grant all on *.* to admin@'%' identified by '123456' with grant option; 
flush privileges;
允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在。

2、支持root用户允许远程连接mysql数据库
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;

三、查看系统用户

https://www.cnblogs.com/linjiqin/p/5270938.html

 

### 配置 MySQL 允许远程连接 #### 修改 MySQL 用户权限 为了使 MySQL 数据库能够接受来自任何 IP 地址的请求,可以通过修改 `user` 表来实现这一点。具体操作是在该表内将特定用户的 `Host` 字段由默认值 `localhost` 更改为 `%` ,这表示允许所有主机访问[^1]。 ```sql UPDATE user SET Host = '%' WHERE User = 'root'; FLUSH PRIVILEGES; ``` #### 使用 SQL 授予权限语句 另一种方式是直接利用 SQL 语句授予指定用户从任意位置登录的权利,并设定相应的密码: ```sql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password_here' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 此命令会创建一个新的具有完全控制权的新用户记录,其中 `'root'@'%'` 中的百分号意味着匹配所有的客户端地址[^3]。 #### 编辑 MySQL 配置文件 对于某些 Linux 发行版来说,在 `/etc/mysql/my.cnf` 或者其他类似的路径下找到 MySQL配置文件也非常重要。如果存在 `bind-address=127.0.0.1` 这样的条目,则需将其注释掉或更改为服务器的实际公网IP地址以便监听外部网络接口上的连接尝试[^2]。 ```bash sudo nano /etc/mysql/my.cnf # 注释 bind-address 或者设置为实际外网 IP # bind-address = 127.0.0.1 ``` 完成上述更改之后重启 MySQL 服务以应用新的配置选项: ```bash sudo systemctl restart mysql.service ``` 最后需要注意的是,在生产环境中开放远程访问可能会带来安全风险,建议仅当确实必要时才启用这项功能并采取适当的安全措施保护数据库免受未授权访问的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值