win上navicat远程登录服务器mysql数据库
- 事情的大致流程是这样的,因为之前公司的开发服务器上面的root用户是没有设置密码的,我觉得这样不是很好,所有就使用下面的命令给用户设置了密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
- 之后我发现我在win上面的navicat上面无法连接到服务器数据库,但是通过xshell远程登录服务器之后通过
mysql -uroot -p
之后输入密码确实可以登录的,通过查找问题之后,我发现是因为我在上面的命令中设置的是本地root用户的登录密码,而mysql数据库root用户默认是不可以远程登录的,所以我必须给一个权限,所以在xshell登录mysql数据库之后,我执行下面的命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'newpass' WITH GRANT OPTION; flush privileges;
- 问题解决,通过navicat可以远程登录了。