Linux系统配置(2)mysql允许被远程访问

本文介绍如何在Linux服务器上配置MySQL以允许远程访问。包括修改阿里云服务器的安全组规则以开放3306端口,调整MySQL配置文件使3306端口对外提供服务,以及通过授权命令设置远程访问权限等步骤。

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

需求描述:刚刚在linux服务器上安装完mysql(Linux服务器安装mysql),希望mysql可以被远程访问,用Navicat 远程登录服务器上的mysql软件。需要对mysql进行如下配置:

使mysql允许远程访问一般有两步:

(1)阿里云服务器需要修改安全组规则,添加3306端口到安全组中,允许0.0.0.0/0即所有地址都可以访问该端口(也可以修改为特定的地址可以访问)

(2)修改“/etc/mysql/my.cnf文件”使3306端口可以被所有的ip访问

使用netstat -ntlp 命令检查端口的监听状况(或则直接使用netstat -an | grep 3306),如果如下图所示说明3306端口只是在IP 127.0.0.1上监听,所以拒绝了其他IP的访问。

解决方法:修改/etc/mysql/my.cnf文件(但是不同的环境下mysqld.cnf文件的位置可能不一样)

1.使用下面命令编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

2.注释掉这一行“bind-address = 127.0.0.1”。(或者修改为“bind-address    = 0.0.0.0”或者设备地址)

(linux终端如何编辑文件参考:Linux如何用vim编写、运行c脚本

再查看端口的监听状况就会变为如下:

(3)使用授权法使外部ip可以访问mysql。

1.进入mysql

//1.进入mysql
mysql -uroot -p你的密码
//2.执行授权命令:(使所有ip都可以访问,其中yourpassword需要填入你的mysql密码)
grant all on *.* to root@'%' identified by 'yourpassword' with grant option; 
//3.退出mysql 
exit

授权命令:GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想只允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码 
可以使用:GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION  

2.重启mysql

service mysql restart

 

 

注:之后可以使用Navicat软件远程连接测试连接是否成功,windows电脑远程连接Ubuntu服务器中的mysql的方法:可以在本地主机安装navicat软件,使用这个软件远程连接服务器上的mysql,在本地主机使用图形化界面来操作这个mysql数据库。(下图是“使用navicat软件远程连接到mysql”的效果图)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值