Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6271362
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类:

2012-08-07 12:22:02

  1. mysql -u root -p mysql # 第1个mysql是执行命令,第2个mysql是系统数据名称

在mysql控制台执行:

  1. grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
  2. # root是用户名,%代表任意主机,'123456'指定的登录密码(这个和本地的root密码可以设置不同的,互不影响)
  3. flush privileges; # 重载系统权限
  4. exit;

允许3306端口

  1. iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
  2. # 查看规则是否生效
  3. iptables -L -n # 或者: service iptables status

  4. # 此时生产环境是不安全的,远程管理之后应该关闭端口,删除之前添加的规则
  5. iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

PS,上面iptables添加/删除规则都是临时的,如果需要重启后也生效,需要保存修改:
service iptables save # 或者: /etc/init.d/iptables save
另外,
vi /etc/sysconfig/iptables # 加上下面这行规则也是可以的
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

远程管理数据库的软件,win系统下可以使用SQLyog,用了几种远程软件,感觉这个用起来蛮不错的。

参考:

http://www.fantxi.com/blog/archives/enable-remote-access-mysql-centos/




以下的文章主要介绍的是实现远程连接的实际操作流程,本文主要是由其相关的实际应用代码来引出MySQL远程连接的具体操作步骤,以下就是文章的主要内容描述,希望会给你带来一些帮助在此方面。

1、进入MySQL,创建一个新用户root,密码为root:

格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";

  1. grant select,update,insert,delete on *.* to root@192.168.1.12 identified by "root"; 

原先数据表结构

  1. MySQL> use MySQL;  
  2. Database changed  
  3. MySQL> select host,user,password from user;  
  4. +-----------+------+-------------------------------------------+  
  5. | host | user | password |  
  6. +-----------+------+-------------------------------------------+  
  7. | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |  
  8. +-----------+------+-------------------------------------------+ 

执行上述语句后结果

  1. MySQL> use MySQL;  
  2. Database changed  
  3. MySQL> select host,user,password from user;  
  4. +--------------+------+-------------------------------------------+  
  5. | host | user | password |  
  6. +--------------+------+-------------------------------------------+  
  7. | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |  
  8. | 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |  
  9. +--------------+------+-------------------------------------------+  
  10. 2 rows in set (0.00 sec) 

可以看到在user表中已有刚才创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,

(1)有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。

2、实现MySQL远程连接(授权法)

将host字段的值改为%就表示在任何客户端机器上能以root用户登录到MySQL服务器,建议在开发时设为%。

  1. update user set host = ’%’ where user = ’root’; 

将权限改为ALL PRIVILEGES

  1. MySQL> use MySQL;  
  2. Database changed  
  3. MySQL> grant all privileges on *.* to root@'%' identified by "root";  
  4. Query OK, 0 rows affected (0.00 sec)   
  5. MySQL> select host,user,password from user;  
  6. +--------------+------+-------------------------------------------+  
  7. | host | user | password |  
  8. +--------------+------+-------------------------------------------+  
  9. | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |  
  10. | 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |  
  11. | % | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |  
  12. +--------------+------+-------------------------------------------+  

3 rows in set (0.00 sec)

这样机器就可以以用户名root密码root远程访问该机器上的MySQL.

3、实现MySQL远程连接(改表法)

  1. use MySQL;  
  2. update user set host = '%' where user = 'root';  

这样在远端就可以通过root用户访问MySQL.

参考:


阅读(439) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~