设为首页 收藏本站
查看: 1220|回复: 0

[经验分享] 使用MySql-Front远程连接MySQL失败的解决办法

[复制链接]

尚未签到

发表于 2016-9-12 08:09:03 | 显示全部楼层 |阅读模式
  新安装的mysql默认是root用户,且密码为空,默认端口是3306。通过SSH可以连接并且登录,但是使用MySQL-Front等客户端连接失败。
  
  解决办法:
  1.确认Linux防火墙3306端口打开。
  在/etc/sysconfig/iptables文件中,添加一行:
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
  重启:server iptables restart;
  
  2.首先查看远程的user表(在mysql用户下)
  发现mysql只允许通过本地(localhost)登录。
  mysql> select host,user from mysql.user;
  +-----------------+-------+
  | host            | user  |
  +-----------------+-------+
  | 127.0.0.1       | root  |
  | fc51a71b7504538 |       |
  | fc51a71b7504538 | root  |
  | localhost       |       |
  | localhost       | root  |
  +-----------------+-------+
  
  3.修改root登录权限(强烈不建议如此做,否则会带来严重的安全风险)
  mysql> update mysql.user set host = '%' where user = 'root';
  或者
  mysql> grant select,update,insert,delete on test.* to root@localhost identified by "123456";
  或者
  mysql> grant select,update,insert,delete on test.* to root@% identified by "123456";
  或者
  mysql> grant select,update,insert,delete on test.* to root@ip identified by "123456";
  
  flush privileges;  --写入权限表
  
  这样就可以通过root和密码123456来访问了。
  
  
  4.上面的操作风险太大,不建议,我们应该新创建一个用户:
  mysql> grant select,update,insert,delete on test.* to scott@localhost identified by "123456";
  
  flush privileges;  --写入权限表
  
  这句命令的意思是:新建用户scott,并且只允许该用户在本地(localhost)登录,密码是123456,并且赋予它对mas库中所有表select,update,insert的权限。我们在这有一个mas库,所以用mas.*代表mas库下的所有表。如果要对所有的表,包括mysql库的表都有操作权限则可以替换成“*.*”.
  
  现在该scott用户,已经可以登录mysql了,但是也还是只能本地登录。若要duan用户可以远程登录mysql,则还需要如下命令:
  mysql> update user set host = '%' where user = 'scott';
  
  
  现在我们再查看mysql的管理库:
  mysql> select host,user from mysql.user;
  +-----------------+-------+
  | host            | user  |
  +-----------------+-------+
  | %               | scott |
  | 127.0.0.1       | root  |
  | fc51a71b7504538 |       |
  | fc51a71b7504538 | root  |
  | localhost       |       |
  | localhost       | root  |
  
  +-----------------+-------+
  
  即可通过scott和密码123456来访问。
  
  注意:
  如果还是不行,则重启mysql:
  service mysqld stop;
  service mysqld start;
  service mysqld status; --查看状态
  
  有时候通过 % 不一定能访问,会发生:
  SQLException: access denied for  @'10.44.55.195.' (using password: no)
  则上面的语句可以改为:
  mysql> grant select,update,insert,delete on test.* to scott@10.44.55.195 identified by "123456";
  (10.44.55.195其实是客户端的ip)
  但是,优先用%。务必务必!
  
  
  取消赋权的语句是:
  revoke all on mysql.* from root@10.44.55.195;

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-270948-1-1.html 上篇帖子: keepalived + MySQL主/主 高可用mysql集群 _ 转 下篇帖子: 转Mysql远程链接
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表