百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> LINUX服务器下开启MYSQL远程连接权限
分享文章到:

LINUX服务器下开启MYSQL远程连接权限

发布时间:01/15 来源: 浏览: 关键词:
mysql中默认不支持远程连接了这样也是为了安全考虑了,要不很容易给其它人下你数据库哦,这个是非常严重的问题了。

于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:

 
1、登录到mysql中,为root进行远程访问的授权,执行下面的命令:

1.1、改表法

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从“localhost”改称“%”

 代码如下

x:>mysql -u root -pvmware

mysql> use mysql;
mysql> update user set host = ‘%’ where user = ‘root’;
mysql> select host, user from user;

mysql> flush privileges;

 


注:mysql> flush privileges; 使修改生效。

1.2、授权法:

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

 代码如下

mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
 

如果你想允许用户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;

 

第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:

 代码如下


GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root";

第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

 2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:

 代码如下

    bind-address          = 127.0.0.1 

将其注释掉,保存。

 3、重新启动MySQL服务器。执行下面的几条命令即可:

 代码如下

# /usr/bin/mysqladmin -u root -p shutdown

# /usr/bin/mysqld_safe &

如果mysqladmin和mysql_safe不在/usr/bin目录中,可以通过whereis命令查找,例如:

 代码如下

# whereis mysqladmin

mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz

执行完上面的三步后,就可以通过远程机器连接了数据库了。

最后搞了那么多总结一句

还要一句就是防火强了

//修改防火墙

 代码如下

iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有8人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板