您的位置 首页 > 数码极客

sql如何远程连接mysql数据库,mysql远程连接运行sql!

为了安全,默认情况下MySQL 是不允许远程连接的,本教程将详细讲解如何开启 MySQL 数据库远程连接权限。

关闭防火墙

首先要关闭防火墙,或者开启MySQL的监听端口,默认为3306端口。

# systemctl disable firewalld --now

允许MySQL监听特定IP地址

默认情况下, bind - address 的值为 127.0.0.1 ,所以只能监听本地连接。我们需要将这个值改为远程连接 ip 可访问,可使用通配符 ip 地址 *, ::, 0.0.0.0 ,当然也可以是单独的固定 ip,这样就仅允许指定 ip 连接,更加安全。

下面我们来修改MySQL配置文件,让 MySQL 可以监听远程固定 ip 或者监听所有远程 ip。

备注:参考 MySQL数据库配置文件在哪里呢?查找MySQL配置文件的位置。

我这里修改的是 /etc

添加 bind-address=0.0.0.0 允许任何IP地址连接。

[mySQLd] datadir=/var/lib/mysql socket=/var/lib/mysql log-error=/var/log/mysql pid-file=/run/mysqld bind-address=0.0.0.0

创建远程登录用户

如果数据库进行了安全配置,那么root用户只能本机登录。

mysql> select user,host from user; +------------------+-----------+ | user | host | +------------------+-----------+ | my | localhost | | my | localhost | | my | localhost | | root | localhost | +------------------+-----------+ 4 rows in set sec)

创建一个用户,用户名:'remote1'@'%' ,密码:password

注意:在MySQL 5.x版本直接在一条SQL中 就可以创建用户并授予权限;而8.x后,需要先创建用户,再GRANT权限。

CREATE USER 'remote1'@'%' IDENTIFIED BY 'password';

授权远程登录账户可以访问的数据库

MySQL授权语法:grant 权限列表 on 数据库.表 to '用户名'@'主机';

此外,grant用于增加用户权限,revoke用于删除用户权限。

# 授权用户('remote1'@'%')可以在任何远程主机访问 test数据库的任何表,并且具有授权权限 GRANT ALL PRIVILEGES ON test.* TO 'remote1'@'%' WITH GRANT OPTION;

最后刷新授权

flush privileges;

测试

点击测试连接

测试连接成功

远程连接到test数据库

参考

如何远程连接 MySQL 数据库,阿里云腾讯云允许远程连接教程()

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“sql如何远程连接mysql数据库,mysql远程连接运行sql,sql如何远程连接mysql数据库服务器”边界阅读