Linux下MySQL无法访问问题排查的基本步骤-linux教程

问题说明


本文说明云服务器 ECS Linux 上 MySQL 无法访问问题的一般排查步骤。

处理办法


  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;

以上就是Linux下MySQL无法访问问题排查的基本步骤的详细内容,更多请关注p学派吧-其它相关文章!

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/2828.html

(0)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2019年1月1日 上午10:02
下一篇 2019年1月1日 上午10:02

相关推荐

  • ECS云服务器如何禁用公网IP-linux运维-学派吧

    本篇文章给大家带来的内容是关于ECS云服务器如何禁用公网IP,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 ECS云服务器如何禁用公网IP Linux关闭外网网卡的方法 首先使用ifconfig查看下公网的IP对应的网卡名称,这里查看到对应的是 eth1,然后使用 ifdown eth1 即可,然后测试 ping 下公网IP,无法 ping…

    服务器运维 2018年11月21日
    2.7K00
  • linux ~/.是什么如何使用教程详解

    linux ~/.是什么目录? linux ~/是一般情况下表示当前目录。但是当开终端的时候,都是在用户名目录下面的,所以这个就是用户名目录里面的东西。而.fcitx,加了一个点都是隐藏文件。按CTRL+H可以显示隐藏文件。 linux中 ~ 表示的是什么目录? ~ 表示代码主目录,也就是当前登录用户的用户目录。 比如:我登录用户是chen cd ~ ~ 代…

    服务器运维 2019年3月13日
    2.8K00
  • nginx+php-fpm报错故障解决方法-及排查流程

    前言 现在NGINX越来越普及了、通过很多面板都可以简单搭建、小白都可以操作、但是出了问题、不知道如何下手、今天我们总结下教程 学派吧-小编初到一家公司做运维的工作,刚来的第一天就开始部署LNMP(Linux+Nginx+MySQL+PHP)环境,结果出现了问题。 他来向我请教,具体问题现象、原因和解决思路如下: 问题一nginx进程CPU和内存不均衡,某个…

    2018年10月11日
    3.4K00
  • Nginx和Apache如何设置ajax跨域-Linux运维-学派吧

    有需要服务器方面的需求和咨询,可以联系博主QQ 7271895(收费) 关于ajax跨域的就不过多的介绍,可以参考改文章http://www.qqdeveloper.com/a/75.html 方式一:在被请求的应用程序中添加一个允许请求跨域 1.apache 1.在httpd.conf文件中加载 LoadModule headers_module modu…

    服务器运维 2018年9月30日
    4.3K00
  • centos(linux)系统盘硬盘扩容的方法教程-阿里云-景安云

    今天抽了时间。准备搞了一台服务器、做一个cenots 硬盘无损数据的扩容测试-感谢商祺云提供的云服务器测试 本文提供了如何使用growpart和resize2fs工具完成Linux系统盘分区扩容及文件系统扩展的操作指导。 适用范围 本文的操作步骤适用于以下分区和文件系统格式的云盘: 分区格式支持mbr、gpt 文件系统支持ext*、xfs、btrfs 准备工…

    服务器运维 2019年7月2日
    5.7K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----