注意:mysql默认的root帐户只能在本地链接mysql
一、进入mysql,建立一个新用户root,密码为root:sql
格式:grant 权限 on 数据库名.表名 to 用户@登陆主机 identified by "用户密码";
grant select,update,insert,delete on *.* to root@192.168.1.12 identified by "root";数据库
原先数据表结构服务器
mysql> use mysql;
Database changed
mysql> select host,user,password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+ide
执行上述语句后结果spa
mysql> use mysql;
Database changed
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host | user | password |
+--------------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)orm
能够看到在user表中已有刚才建立的root用户。host字段表示登陆的主机,其值能够用IP,也可用主机名,开发
(1)有时想用本地IP登陆,那么能够将以上的Host值改成本身的Ip便可。get
二、实现远程链接(受权法)it
将host字段的值改成%就表示在任何客户端机器上能以root用户登陆到mysql服务器,建议在开发时设为%。
update user set host = ’%’ where user = ’root’;
将权限改成ALL PRIVILEGES
mysql> use mysql;
Database changed
mysql> grant all privileges on *.* to root@'%' identified by "root";
Query OK, 0 rows affected (0.00 sec)mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host | user | password |
+--------------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| % | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)
这样机器就能够以用户名root密码root远程访问该机器上的MySql.
三、实现远程链接(改表法)
use mysql;
update user set host = '%' where user = 'root';
这样在远端就能够经过root用户访问Mysql.