您的位置:首页 > 数据库 > MySQL

遇到关于MySQL权限的两个问题

2016-08-19 17:13 225 查看
新安装的MySQL无法从远程连接;

在函数中
definer ('root'@'%') does not exist
;

这两个问题好像是同一个问题。

首先说第一个问题:

1. 新安装的MySQL无法从远程连接

在MySQL Client运行下语句,即可实现远程登陆:

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY '123456'  WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql>flush privileges;


第一句话翻译下就是:授权(
Grant
)所有权限(
All Privileges
)在所有库的所有表(
ON *.*
)给Root用户在所有IP上(
TO root@ "%"
),通过密码“123456”登陆(
IDENTIFIED BY '123456'
),用授权项(这个不加也没关系…..貌似)。

flush privileges;
的意思是刷新数据库权限。

2. mysql 1449 : The user specified as a definer (‘root’@’%’) does not exist

可以看到
('root'@'%')
在问题一中也出现了,看网上的解决方案与是问题的语句。按照对
('root'@'%')
的理解,就是没有定义root与%。

文章所说,mysql数据库中有一个mysql库,所有的权限管理都在一张表内。所以对这问题的解决,还有第二种方式:对这张表进行修改。不过这好像有问题,因为默认不是对mysql数据库进行操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: