> CentOS > CentOS入门 >

CentOS服务器下设置MySQL允许远程连接

1、进入MySQL,创建一个新用户root,密码为root:格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";


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


1 原先数据表结构


1 1. MySQL> use MySQL;


1 2. Database changed


1 3. MySQL> select host,user,password from user;


1 4. +-----------+------+-------------------------------------------+


1 5. | host | user | password |


1 6. +-----------+------+-------------------------------------------+


1 7. | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |


1 8. +-----------+------+-------------------------------------------+


1 执行上述语句后结果

1. MySQL> use MySQL;


1 2. Database changed


1 3. MySQL> select host,user,password from user;


1 4. +--------------+------+-------------------------------------------+


1 5. | host | user | password |


1 6. +--------------+------+-------------------------------------------+


1 7. | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |


1 8. | 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |



1 10. 2 rows in set (0.00 sec) 可以看到在user表中已有刚才创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名, (1)有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。


1 2、实现MySQL远程连接(授权法) 将host字段的值改为%就表示在任何客户端机器上能以root用户登录到MySQL服务器,建议在开发时设为%。


1 1. update user set host = ’%’ where user = ’root’; 将权限改为ALL PRIVILEGES 1. MySQL> use MySQL;


1 2. Database changed


1 3. MySQL> grant all privileges on *.* to root@'%' identified by "root";


1 4. Query OK, 0 rows affected (0.00 sec) 5. MySQL> select host,user,password from user;


1 6. +--------------+------+-------------------------------------------+


1 7. | host | user | password |


1 8. +--------------+------+-------------------------------------------+


1 9. | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |


1 10. | 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |


1 11. | % | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |


1 12. +--------------+------+-------------------------------------------+


1 3 rows in set (0.00 sec) 这样机器就可以以用户名root密码root远程访问该机器上的MySQL.


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


1 1. use MySQL;


1 2. update user set host = '%' where user = 'root'; 这样在远端就可以通过root用户访问MySQL.




(责任编辑:IT)