大多的MySQL都是装在Linux上的,而咱们的windowns本机上通常都会装MySQL-Front.那如何用MySQL-Front链接远端Linux系统上的mysql呢?mysql
用MySQL-Front链接远端的MYSQL就会有些问题。大多提示1045错误:sql
首先让咱们看一下远端MYSQL的用户表数据库
|
安全
由此咱们能够看到root用户仅容许本地(localhost)登陆,若是要远程登陆该mysql服务器的话,就须要新建一个普通权限的用户,新建用户使用以下命令:服务器
mysql> grant select,update,insert,delete on test.* to duan@localhost identified by "123456";ide
在看下咱们的用户和对应的主机:spa
这句命令的意思是:新建用户duan,而且只容许该用户在本地(localhost)登陆,密码是123456,而且赋予它对test库中全部表select,update,insert的权限。咱们在这有一个test库,因此用test.*表明test库下的全部表。若是要对全部的表,包括mysql库的表都有操做权限则能够替换成“*.*”.test
如今该duan用户,已经能够登陆mysql了,可是也仍是只能本地登陆。若要duan用户能够远程登陆mysql,则还须要以下命令:登录
mysql> update user set host = '%' where user = 'duan';date
如今咱们再查看mysql的管理库:
经过以上操做,咱们知道其实用root用户也能够远程登陆mysql的,就是把root的host字段改为%便可(注意:有的时候这个权限容许远程链接,可是有可能仍是链接不是,这时候就是防火墙的问题了,咱们能够把防火墙关掉),可是强烈不建议如此作,不然会带来严重的安全风险。
若是非要这么作,语句以下:
好了,咱们能够链接咱们的远端mysql了,在MySQL-Front上新建链接,输入链接名,远端的Linux的IP地址,输入用户名duan和密码123456,选择链接端口,mysql默认的是3306,OK,链接会出问题:
刚刚咱们执行了一下语句
mysql> update user set host = '%' where user = 'duan';
却没有执行如下语句:
mysql> flush privileges;
再去链接就成功了!
但这是连上以后,只能够操做test数据库,用下面的语句添加其能够操做的数据库。
mysql>grant select,update,insert,delete on nms_db.* to duan;
添加用户duan对数据库nms_db具备查询,更新,插入,删除操做,这样在mysql-front里面就能够操做nms_db数据库了。