通过SQLyog远程管理linux下mysql过程中遇到的问题以及解决方法

大三花了近半年的时间给学校做了一套系统,准备部署到服务器上,测试中使用的数据库服务器是windows平台的,学校的是linux的,需要使用SSH登录,使用起来不是太方便,为了方便数据查看管理,准备使用SQLyog连接上去,打开SQLyog填写SSH的相关信息(主机,用户名,密码后),连接直接报错,于是一边继续尝试各种登录,一边去google,最后发现是mysql配置的问题:

1.修改"mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 

mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user ='root';
mysql>select host, user from user;

其实在安装时候添加管理用户时默认的是用户'%',如果这样就不需要修改的了。

这里也可以使用授权法,下面有介绍


2.默认安装下,只能支持本机(安装数据库的机器)进行管理数据库,

使用VI 打开/etc/usr/local/rfidkaoqin/server/mysql/my.cnf  文件后会发现有这样一段:

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address  = 127.0.0.1

127.0.0.1(只能允许本机访问)

这里我就将bind-address  = 127.0.0.1这一段注释了(前加#号)就是可以使用所有ip地址进行管理,当然也可以修改为指定的ip。

未修改之前使用使用指令:netstat -an | grep 3306    查看3306端口映射情况:如下所示:

tcp       0     0 127.0.0.1:3306     0.0.0.0:*    LISTEN

修改之后:

tcp       0    0 0.0.0.0:3306        0.0.0.0:*    LISTEN


3.一切完毕后,重启mysql,指令:service mysqld restart    ,   service mysql restart (5.5.7版本命令),发现仍旧不行,注意到了报错信息有所改变,说是ssh认证出现问题,纠结好久,仔细看了主机地址,用户名,密码都是正确的,找不到问题所在处,纠结了好久,无意中,打开SQLyog时,

没有使用SSH隧道登录,而是使用了普通方式登录,竟然顺利的连接上去了。。。。。。无语。。。。。。配置了这些,竟然不需要使用ssh隧道进行登录管理了。


网上也有这种问题的解决方法:

(1)授权法  

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword’ WITH GRANT OPTION;

运行完正常的话会出现“Query OK, 0 rows affected (0.00 sec)” 这样的提示,表示已经授权成功。这时还需要将3306端口打开,同上面的2中操作。

做这个项目时,本人从未有过SSH登录管理linux服务器的相关经验,所写内容可能比较肤浅,见笑了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值