如何允许ubuntu中的mysql远程访问

本文介绍如何在Ubuntu系统中配置MySQL以允许远程访问。包括修改MySQL配置文件my.cnf,重启服务,以及通过SQL命令授权特定用户从任意IP地址进行远程连接。

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

一、修改ubuntu mysql的配置文件my.cnf

vim /etc/mysql/my.cnf (没有装vim可以sudo apt-get vim 安装或者用winscp工具下载修改)

修改内容:

1.直接注释掉#bind-address = 127.0.0.1

2.直接改为:bind-address = 0.0.0.0

3.或者指定远程要访问的IP:bind-address = 192.168.220.130


二、重启Mysql服务并登入Mysql

2.1 sudo /etc/init.d/mysql restart

2.2 mysql -uroot -p (root有密码)


三、授权用户能进行远程访问

3.1 grant all privileges on *.* to root@“%” identified by "password" with grant option;

3.2 flush privileges;

说明:*.* 表示数据库名.表名 第一个*代表数据库名 第二个代表表名 *.*意味着所有数据库的数据表都授权给该用户

           root@"%"    root表示授予账号 “%”表示授权用户的IP指定,%表示任意IP都能访问Mysql数据库

           “password” 表示授权账号的密码,注意password是你的密码,不要复制

          flush privileges 表示刷新权限信息,刷新后立即生效。

### 配置 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、付费专栏及课程。

余额充值