- 新安装的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数据库进行操作。