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

来源:互联网 发布:linux怎么测试网速 编辑:程序博客网 时间:2024/04/28 13:09
  1. 新安装的MySQL无法从远程连接;
  2. 在函数中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数据库进行操作。

0 0
原创粉丝点击