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)
打赏 微信扫一扫 微信扫一扫
关于Linux系统授权MySQL外网访问的教程-学派吧
上一篇 2019年1月1日 上午10:02
下一篇 2019年1月1日 上午10:02

相关推荐

  • inode索引节点用满报错mkdir: cannot create directory `xxx’: No space left on device

    小编今天维护一台服务器、数据库无法启动、也无法建立文件目录等操作。都提示No space left on device 后来仔细查看洗了 是因为inode满了。那就赶紧想办法清理下了。 命令:df -i 其中/dev/mapper/vg_have-lv_root 884208 884208 0 100% /索引节点 (inode)满了 已经找出问题所在,那么…

    2019年4月18日
    3.5K00
  • 数据库中的Schema是什么?-mysql教程-

    数据库中schema是数据库对象集合,它包含了表,视图等多种对象。schema就像是用户名,当访问数据表时未指明属于哪个schema,系统就会自动的加上缺省的schema 我们在学习数据库中会碰到一个模糊的概念,它就是Schema。很多人对他都不是很了解,今天将要在文章中为大家详细介绍这个概念,具有一定的参考作用,希望对大家有所帮助。 【推荐课程:数据库教程…

    数据库运维 2019年4月24日
    5.6K00
  • php-fpm 占用资源如何检查和php-fpm的解决

    1.别的先不管,先top看一下cpu、ram、swap哪个比较紧张。由上图分析,可以看出共有602个进程,其中有601个进程休眠了。这好像有点不对劲,内核进程也就80个左右,加上memcached, nginx, mysqld,也不会超出90个。除了这些,剩下的只有php-fpm管理的php-cgi,难道是…?CPU显示,CPU压力并不大,可以说没有压力。我…

    2018年8月16日
    3.4K00
  • linux/centos下使用kill命令的使用教程方法

    kill命令 kill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。 语法 kill(选择)(参数) 选项-a:当处理当前进程时,不限制命令名和进程号的对应关系;-l &l…

    2019年4月13日
    4.9K00
  • 如何解决(centos)linux中文乱码问题

    Linux中文乱码的解决方法:比如当log4j乱码时我们可以通过找到配置文件在里面设置字符编码为utf-8来,若linux未安装中文语言包可以安装中文语言包解决问题 经常会遇到很多Linux下的中文乱码问题,今天将为大家分享一些常见的解决方法,具有一定的参考价值,希望对大家有所帮助 【推荐课程:Linux教程】 mysql中文乱码 vi /etc/my.cn…

    2019年3月13日
    3.0K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

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

添加微信
添加微信
分享本页
返回顶部