sqlyog链接mysql远程数据库怎样修改权限

sqlyog链接mysql远程数据库怎样修改权限,第1张

1,sqlyog客户端,用root用户远程链接mysql时,提示“访问被拒绝”,在网上搜索了一下原因。

原来是mysql没有授权其远程链接,所以你只能在客户端里面链接。

怎么解决呢?

原表数据

mysql>use mysql

mysql>select Host,User,Password from user

+---------------+---------+-------------------------------------------+

| Host | User | Password |

+---------------+---------+-------------------------------------------+

| localhost | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

| www | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

| 127.0.0.1 | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

| ::1 | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

创建一个新用户

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

grant select,update,insert,delete on *.* to komiles@123.4.56.89 identified by "komiles1234"

执行完上面语句后,再执行

mysql>select Host,User,Password from user

+---------------+---------+-------------------------------------------+

| Host | User | Password |

+---------------+---------+-------------------------------------------+

| localhost | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

| www | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

| 127.0.0.1 | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

| ::1 | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

| 123.4.56.89 | komiles | *50663F1ECEAB844897BC272EC1AE7E83F442F649 |

+---------------+---------+-------------------------------------------+

此时,就可以用你刚才创建的用户进行远程访问了。

以下是转载http://www.cnblogs.com/smallstone/archive/2010/04/29/1723838.html

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

将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.

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

use mysql

update user set host = '%' where user = 'root'

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

1、改表法。

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

mysql -u root -pvmwaremysql>use mysql

mysql>update user set host = '%' where user = 'root'

mysql>select host, user from user

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

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI

TH GRANT OPTION

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY

'mypassword' WITH GRANT OPTION

我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES

使修改生效,就可以了

另外一种方法:

在安装mysql的机器上运行:

1、d:\mysql\bin\>mysql -h localhost -u root

//这样应该可以进入MySQL服务器

2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION

//赋予任何主机访问数据的权限

3、mysql>FLUSH PRIVILEGES

//修改生效

4、mysql>EXIT

//退出MySQL服务器

这样就可以在其它任何的主机上以root身份登录啦。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8632769.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存