配置mysql远程连接

两种方式:

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;

在mysql客户端新建查询,

### 配置Linux系统下的MySQL以支持远程连接 在Linux系统上配置MySQL以允许远程连接需要对MySQL配置文件进行修改,并确保服务器和客户端之间的网络连接畅通。以下是详细的配置方法: #### 1. 修改MySQL配置文件 编辑MySQL配置文件`my.cnf`或`mysqld.cnf`,通常位于`/etc/mysql/my.cnf`或`/etc/my.cnf`路径下。找到`bind-address`字段并将其值从默认的`127.0.0.1`更改为`0.0.0.0`,这将允许所有IP地址访问MySQL服务器[^1]。 ```bash sudo nano /etc/mysql/my.cnf ``` 修改后的配置应如下所示: ```ini [mysqld] bind-address = 0.0.0.0 ``` 保存文件后,重启MySQL服务以使更改生效。 ```bash sudo systemctl restart mysql ``` #### 2. 创建具有远程访问权限的用户 登录到MySQL服务器,创建一个新的用户并授予其远程访问权限。例如,创建一个名为`remote_user`的用户,并设置密码为`password`[^5]。 ```sql CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 如果需要修改现有的`root`用户以支持远程访问,可以执行以下命令[^4]: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` #### 3. 确保防火墙允许MySQL端口 MySQL默认使用3306端口。确保防火墙规则允许外部设备通过此端口访问MySQL服务器[^3]。 ```bash sudo ufw allow 3306/tcp sudo ufw reload ``` 或者,如果使用的是`iptables`,可以添加以下规则: ```bash sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT ``` #### 4. 测试远程连接 在客户端机器上使用MySQL客户端工具(如`mysql`命令行工具或图形化工具SQLyog)测试连接。例如: ```bash mysql -u remote_user -p -h <服务器IP地址> ``` 输入之前设置的密码以验证连接是否成功[^4]。 --- ### 注意事项 - 确保MySQL服务器的硬件防火墙或云提供商的安全组规则允许3306端口的入站流量。 - 为了安全起见,建议限制特定IP地址范围的访问,而不是使用通配符`%`[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值