ERROR 2003 (HY000): Can't connect to MySQL server on '' (10060) CentOS7 安装二进制包mysql5.7.1

Posted 风起时的悟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ERROR 2003 (HY000): Can't connect to MySQL server on '' (10060) CentOS7 安装二进制包mysql5.7.1相关的知识,希望对你有一定的参考价值。

前两天在阿里买了个ECS云服务器,CentOS7.3的。安装mysql5.7.19 官网最新版的 全名mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz,二进制版本。

5.7.19较之前的版本有了很大的变化:

1、从MySQL 5.7.18开始,my-default.cnf不再包含在安装包中。
2、解压后包根目录里没有data,所以解压之后先新建data,一个存储mysql所有数据库和表的文件夹。初始化的目的也是先初始化它,开始时为空。
3、5.7.6 版本开始,MySQL 初始化使用 mysqld --initialize 命令,不再使用 mysql_install_db 命令 由于缺少my.cnf配置文件 没有默认的datadir和basedir
  初始化时,请用
#./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

尽量使用mysql默认的安装位置 /usr/local 路径下。

分析:1、开始以为是防火墙的问题,用命令 

 # systemctl status firewalld.service
 ● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

  发现是dead 死的,排除了防火墙屏蔽3306端口

2、为mysql添加远程权限

mysql> GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\' IDENTIFIED BY \'root\' WITH GRANT OPTION; 
//格式:GRANT ALL PRIVILEGES ON *.* TO \'登录名\'@\'登录ip,%为任意地址\' IDENTIFIED BY \'登录密码\' WITH GRANT OPTION; 

mysql> FLUSH PRIVILEGES;  //刷新策略

 添加后依然不行,但这是必不可少的

检验是否成功设置

mysql> use mysql;
mysql> select user,host from user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
4 rows in set (0.00 sec)

  发现设置好了

3、是不是mysql某个配置文件 .cnf的文件 比如my.cnf或者其他的文件把bind-address设成了本地,顾名思义:绑定了地址

找了一圈没找到,担心还会出问题,故意在 /etc/my.cnf 里加了一句

bind-address = 0.0.0.0

  如果找到

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address           = 127.0.0.1  #这里默认监听本地localhost

  那就注了就是了

4、然后依然不行,又搜了一下发现skip-networking是指定mysql本地运行的,跳过了TCP/IP

没在配置里找到,也没用这个方式启动

5、最后。哈 终于找到了问题的关键

阿里云官方的限制,关闭了3306端口

在个人中心进入自己买的服务器,点击最右侧的配置规则,出现下图,前两个规则是我自己加的。对了貌似8080端口也是关闭的,先选中入方向,点击添加安全组规则,按照下图的第一列添加信息。

添加后刷新下,然后再用本地重连发现OK了。

以上是关于ERROR 2003 (HY000): Can't connect to MySQL server on '' (10060) CentOS7 安装二进制包mysql5.7.1的主要内容,如果未能解决你的问题,请参考以下文章

ERROR 2003 (HY000): Can't connect to MySQL server on 'ip'(111)

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

MySQL显示ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)解决方法

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061),mysql服务已启动(示例代码

错误 2003 (HY000): 无法连接到 MySQL 服务器 (111)