云服务器 ECS Linux 下 MySQL 无法访问问题排查基本步骤-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

云服务器 ECS Linux 下 MySQL 无法访问问题排查基本步骤

2019-07-15 09:26:30 244 1
本文说明云服务器 ECS Linux 上 MySQL 无法访问问题的一般排查步骤。
取消 提交回答
全部回答(1)
  • KB小秘书
    2019-07-22 11:28:27
    1. 查看 Linux 操作系统是否已经安装了 MySQL
      $ rpm -qa mysql
      mysql-4.1.7-4.RHEL4.1
      
      # 说明已经安装了 MySQL
    2. 检查状态
      检测 MySQL 运行状态:
      service mysqld status
    3. 启动服务:
      可以用三种方法来启动 MySQL:
      1. 方法一:使用 service 命令启动 MySQL:
        service mysqld start

         

      2. 方法二:使用 mysqld 脚本来启动 MySQL:
        /etc/init.d/mysql start
      3. 方法三:使用 safe_mysqld 实用程序启动 MySQL 服务,此方法可以使用相关参数:
        safe_mysqld& //使用&表示将safe_mysqld放在后台执行。
    4. 登陆
    5. 修改密码
      mysqladmin -u root password
      mysqladmin -u root password 'kaishi'

      这里的“密码”为我们欲新设的密码。系统会提示我们输入旧密码(若是 MySQL 刚安装,则默认密码为空)

     

    如果本机可以登陆了,但是其他机器的客户端登陆报错。比如:

    ERROR 1130 (00000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQ
    L server

    则首先查看了 iptables 的设置,确认开放了 3306 端口:

    iptables -A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT
    iptables -A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
    service iptables save

     

    如果还是无法访问,则可能是 MySQL 的权限问题。则可以通过如下步骤排查:

    1. 在本机登录
      mysql -h localhost -u root -pkaishi
      show databases;
      use mysql;
      select Host, User, Password from user;
      +-----------------------+------+-------------------------------------------+
      | Host | User | Password |
      +-----------------------+------+-------------------------------------------+
      | localhost | root | *18F54215F48E644FC4E0F05EC2D39F88D7244B1A |
      | localhost.localdomain | root | |
      | localhost.localdomain | | |
      | localhost | | |
      +-----------------------+------+-------------------------------------------+

      可以看到如上结果,只有 localhost 才设置了访问的权限。
    2. 进入 MySQL ,创建一个新用户 user 
      格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码"。
      grant select,update,insert,delete on easyview.* to sillycat@192.168.10.103 identified by "kaishi";
    3. 查看结果,执行:
      use mysql;
      select host,user,password from user;

      可以看到在user表中已有刚才创建的user用户。host字段表示登录的主机,其值可以用IP,也可用主机名,将host字段的值改为%就表示在任何客户端机器上能以user用户登录到mysql服务器,建议在开发时设为%
    4. 修改了权限后需要执行如下语句生效:
      update user set host = '%' where user = 'sillycat';
      flush privileges;
    0 0
相关问答

18

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 1046144浏览量 回答数 18

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 226231浏览量 回答数 162

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 337095浏览量 回答数 8

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 646870浏览量 回答数 18

38

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 259902浏览量 回答数 38

294

回答

Linux Bash严重漏洞修复紧急通知(已全部给出最终修复方案)

qilu 2014-09-25 13:26:50 434636浏览量 回答数 294

249

回答

【史上最详细】阿里云ECS安装wordpress教程

爱映疯wp 2014-03-09 23:55:43 254090浏览量 回答数 249

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 305695浏览量 回答数 249

24

回答

【精品问答】python技术1000问(1)

问问小秘 2019-11-15 13:25:00 475861浏览量 回答数 24

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 204423浏览量 回答数 2
+关注
1090
文章
1253
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载