文章目录
问题描述:使用SQLyog连接阿里云服务器 ECS 上配置的MySQL 数据库报错:2003
报错信息为 :
报错原因:阿里云的服务器默认端口是不对外开放的,如果想要供外部访问,需要在安全组中手动添加规则
解决方案(步骤一):
- 在【云服务器ECS】点击【实例】并跳转到实例列表。在实例列表找到要开放端口的云服务器实例。
- 在【本实例安全组】内点击【配置规则】打开【安全组规则】。这里有出/入的方向,选择入方向,点【手动添加】将3306端口开发就行了
解决方案(步骤二)【如果没有使用宝塔Linux,请忽略本步骤】
注意:如果还使用了宝塔Linux,那么还需要在宝塔Linux中放行!!!!
- 进入宝塔Linux面板 ,点击【安全】->【添加端口规则】,放行3306端口
解决方案(步骤三),开放mysql用户远程登录权限
-
如果配置好【步骤一】,【步骤二】之后还无法在本地登录mysql数据库,那么需要配置数据库用户访问权限了,因为用户的访问权限默认是localhost,并不能从外部进行访问,需手动设置
-
使用xshell登录服务器,如果不会用xshell,可以再百度下xshell的使用了,登录上服务器后,先查看你的mysql服务器是否在正常运行
[root@iZwz94ntdd0kr83asmtosiZ ~]# service mysqld status MySQL running (2090) [ OK ]
-
然后使用mysql登录命令登录数据库【建议使用root账号登录】
[root@iZwz94ntdd0kr83asmtosiZ ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g.
-
登录完毕之后先查一下mysql.user这张表,表里记录的是数据库用户的信息,
mysql> select user ,host from mysql.user; +---------------+-------------------------+ | user | host | +---------------+-------------------------+ | root | 127.0.0.1 | | root | ::1 | | | izwz94ntdd0kr83asmtosiz | | root | izwz94ntdd0kr83asmtosiz | | | localhost | | root | localhost | +---------------+-------------------------+ 8 rows in set (0.00 sec)
-
使用命令将所需要开放的用户的访问权限改为任意:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的root账号密码' WITH GRANT OPTION;
,然后在查一下访问权限是否已经变更,这个时候就可以使用SQlyog连接服务器上的数据库了mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的root账号密码' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> select user ,host from mysql.user; +---------------+-------------------------+ | user | host | +---------------+-------------------------+ | root | % | | root | 127.0.0.1 | | root | ::1 | | | izwz94ntdd0kr83asmtosiz | | root | izwz94ntdd0kr83asmtosiz | | | localhost | | root | localhost | +---------------+-------------------------+ 9 rows in set (0.00 sec)