MYSQL添加远程用户或允许远程访问

本文介绍如何设置MySQL数据库的远程访问权限。通过修改用户权限及主机限制,实现从任意客户端访问MySQL数据库。

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

mysql安装完成之后,默认的就是不能远程连接的,所以,不用纠结与吃惊

先以root用户登录mysql,然后

grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";

flush privileges;

可能你在许多的地方都看见了这个,但是你可能不知道为什么,

现在由我告诉你,真相只有一个,那就是。。。。。

格式:grant 权限 on 数据库教程名.表名 to 用户@登录主机 identified by “用户密码”;
@ 后面是访问mysql的客户端ip地址(或是 主机名) % 代表任意的客户端

如果填写localhost或者127.0.0.1 就只能在本地访问了,
其实我们说localhost和127.0.0.1 都能连接本地的数据库,是因为mysql中mysql数据库,
中的user表,其中的user 中有localhost和127.0.0.1

其实,可以为一个用户添加远程访问的权限:

use mysql;
update user set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)
flush privileges;

下面来一个例子:

grant all privileges on om.* to "janfly"@"%" identified by '123456' with grant option;
### 配置 MySQL 用户允许远程访问 要在 Ubuntu 上配置 MySQL允许用户远程访问,可以按照以下方法实现: #### 1. 安装 MySQL 确保已安装 MySQL。如果没有安装,可以通过以下命令完成安装: ```bash sudo apt update sudo apt install mysql-server ``` 验证 MySQL 是否正在运行: ```bash systemctl status mysql ``` 如果显示 `active (running)` 则表明服务已经启动[^3]。 #### 2. 创建新用户并授权远程访问 进入 MySQL 命令行界面: ```bash sudo mysql -u root -p ``` 创建一个新的用户,并指定可以从任何 IP 地址 (`%`) 访问此用户的权限: ```sql CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_password'; ``` 授予该用户对特定数据库的完全控制权(其他所需的权限): ```sql GRANT ALL PRIVILEGES ON your_database.* TO 'remote_user'@'%'; FLUSH PRIVILEGES; ``` 此处替换 `'your_password'` 和 `'your_database'` 为你自己的密码和数据库名称[^1]。 #### 3. 修改 MySQL 配置文件 编辑 MySQL 的配置文件 `/etc/mysql/mysql.conf.d/mysqld.cnf` 者 `/etc/mysql/my.cnf` 文件,找到 `bind-address` 参数并将它更改为 `0.0.0.0` 来监听所有网络接口: ```ini bind-address = 0.0.0.0 ``` 保存更改后重启 MySQL 服务使改动生效: ```bash sudo systemctl restart mysql ``` #### 4. 打开防火墙端口 确认系统的防火墙规则允许外部流量到达 MySQL 默认使用的 3306 端口。如果是 ufw,则执行以下命令打开端口: ```bash sudo ufw allow 3306/tcp sudo ufw reload ``` #### 5. 测试远程连接 使用客户端工具如 MySQL Workbench 其他支持 MySQL 协议的应用程序来测试新的远程用户是否能够成功登录到服务器上的 MySQL 实例[^1]。 --- ### 注意事项 - **安全性考虑**: 生产环境中应避免使用 `%` 表示允许来自任意主机的连接;而是应该限定具体的IP范围者子网掩码。 - **SSL/TLS 加密传输数据**: 对于敏感信息交换场景下推荐启用加密通信选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值