数据库的远程连接一般是使用navicat进行连接的。
但是有时候遇到服务器安装了mysql数据库之后,navicat却无法连接,以下是个人的解决方案。
1,首先确定端口打开
有的服务器的3306端口被防火墙关闭了,要手动打开。ESC服务器在安全组中打开,轻量级服务器在防火墙中打开。
2,修改用户表
命令行登录数据库,修改mysql库中的user表。
- 使用
mysql -u root -p
;命令后输入密码登录。 - 使用
use mysql
;选择mysql库。 - 执行
update user set host = '%' where user = 'root';
修改root用户访问来自的来源,%
为所有主机都可以访问。 - 如果出现如下错误,是因为mysql的安全机制发出的警告。
ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
。这时候可以执行set sql_safe_updates=0;
语句来关闭该安全机制(之后可以再打开); - 这时候再执行第三步的
update user set host = '%' where user = 'root';
语句,这时候navicat基本上就能远程连接数据库了。