Linux上的mysql搭建成功以后,想本地windows访问mysql数据库 需要以下几步:
第一步:给服务器配置 3306的安全组:
比如我的是阿里云服务器,登录阿里云控制台,找到云服务器,点进去找到 实例,里面会显示一个 你的服务器,点击更多,有个网络与安全组—>安全组配置—>配置规则
—>添加安全组—>端口号是3306—>授权对象是 0.0.0.0/0—>描述可以自定义 我的是mysql,添加完 就OK了
第二步:登录服务器,给mysql配置远程登录权限:
登录自己的服务器,然后再登录mysql 进入mysql命令:
$ mysql -u root -p mysql # 第1个mysql是执行命令,第2个mysql是系统数据名称
这时有密码输入密码,没有密码直接回车 。 忘记mysql密码的可以看修改mysql数据库密码,进行修改密码
进入mysql以后 在mysql执行:
$ grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; # root是用户名,%代表任意主机,'123456'指定的登录密码(这个和本地的root密码可以设置不同的,互不影响)代表任何主机都可以访问
然后让修改立即生效,执行以下命令:
$ flush privileges; # 重载系统权限
如果想允许用户root从某个固定的ip主机连接到MySQL服务,比如:192.168.0.176这个ip,执行以下命令
$ grant all privileges on *.* to 'root'@'192.168.137.99' identified by '123456' with grant option; $ flush privileges; # 重载系统权限
第三步:把3306端口 加到防火墙中,使其可以对外访问
先执行
$ iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
再执行
$ firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙
$ systemctl restart firewalld.service
查看规则是否生效
$ iptables -L -n
现在去用可视化工具访问mysql数据库 发现就可以连接了