linux配置mysql数据库远程连接失败的解决方法
16lz
2021-12-31
今天配置Linux下MySQL数据库可以远程访问的问题,百度这方面的资料有很多,但是方法都一样,都试过了却未能解决,记录一下
第一步:在/etc/mysql/my.cnf下找到bind-address = 127.0.0.1
在这行前加个"#"进行注释,或者改为: bind-address = 0.0.0.0
允许任意IP访问;或者指定自己需要远程访问的IP地址。
然后重启mysql:sudo /etc/init.d/mysql restart
第二步:授权用户能进行远程连接
grant all privileges on *.* to root@"%" identified by "password" with grant option; flush privileges;
第二行命令是刷新权限信息,让我们设置的权限马上生效。
但是最终还是不能访问,此时考虑有可能是防火墙及mysql的3306端口问题.
通过命令netstar -a查询所有端口没看到3306,通过命令nerstat -an|grep 3306,什么都不显示,可以确定是3306端口不存在。
登录阿里云控制台,在云服务安全组新增规则,克隆一个规则出来并把端口号修改成mysql的3306,再次远程连接还是失败。
此时需控制台重启系统让新增的规则生效,重启后再次连接依然失败,此时本地的navicat软件连接返回的是拒绝访问错误而不再是之前的无法连接错误。
此时再次执行上方的第二步授权用户命令,重启apache mysql之后终于连接成功。
更多相关文章
- Android系统配置数据库注释(settings.db)
- android中HttpURLConnection调用getResponseCode()时崩溃 解决方
- Android(安卓)中数据库查询方法 query() 中的 select
- Android空引用问题的解决方法——on a null object reference
- [置顶] android orm映射框架(类似hibernate)基本使用
- Android:getWritableDatabase/getReadableDatabase无法调用onCre
- android读取assets大于1M文件的解决方法
- 几个Android小错误解决方法
- Android(安卓)SQLiteDatabase的使用