当前位置: 代码迷 >> 综合 >> zabbix MySQL占用磁盘过多,报错ERROR 2002 (HY000): through socket '/var/lib/mysq/mysql.sock' (111)
  详细解决方案

zabbix MySQL占用磁盘过多,报错ERROR 2002 (HY000): through socket '/var/lib/mysq/mysql.sock' (111)

热度:88   发布时间:2023-12-17 03:32:13.0

如题啊:

一、解决步骤

1、在进入zabbix 的web页面的时候报错

1-1、RROR 2002 (HY000):  =cannot connect to mysql ,through socket '/var/lib/mysq/mysql.sock' (111)

2、对zabbix问题分析得出,是因为监控时间过长把mysql数据库撑大了,导致Linux磁盘占用100%。

3、定为mysql大文件,找到/var/lin/mysql/ibadate1文件28G

4、怒删之。。。。哼╭(╯^╰)╮

5、重装MySQL(在被甲骨文收购后改名mariadb,性质一样)

5-1、rpm -qa | grep -i mariadb 得出mariadb的相关组件

5-2、mv /var/lib/mysql ~ 将这个目录移除,不先移除会很费心思。下面有我的蛋疼过程。

5-2、yum remove mariadb 相关组件

5-3、yum install 回来mariadb组件

6、初始化zabbix和mysql

6-1、看我师傅的笔记

【http://016ec091.wiz03.com/share/s/01rI2h30kQQj2U5JPA2bSqPA3_7FGv191Jrz0utTJq2Uz6K5】

6-2、去zabbix web页面中配置主机和监控项

7、OK

二、蛋疼过程。。。。。。


一、在linux下输入mysql报错


二、并且附带的疑难杂症为
1、/etc/init.d/mysqld start 提示找不到mysqld  但是 rpm -qa | grep -i mariadb下又能看到有 mariadb-server

1-1、-i为不区分大小写 

1-2、是mariadb,而不是mysql,是因为被甲骨文收购后改名了

1-3、

2、find / -name mysql.server 提示找不到这个文件。。。。。

3、systemctl status mariadb 报错

3-1、错误提示为


3-2、针对这个错误,采取过的措施有:

3-2-1、把/var/lib/mysql文件清空

3-2-2、为/var/lib/mysql提升权限

3-2-3、结果是都没用

4、查看日志信息



三、尝试过的网上方法

1、把 /tmp/mysql.sock 软连接到 /var/lib/mysql/mysql.sock 。。。。。未果

2、修改/etc/my.cnf 中的 socketdir=/var/lin/mysql/mysql.sock。。。。。未果

3、yum remove mariadb相关组件,再 yum install 回来 。。。。。。。。。未果


四、 我的解决思路

1、根据 systemctl status mariadb中的报错信息,得出/var/lib/mysql 不为空。

2、为什么启动的时候需要这个目录为空?因为再启动mysql(systemctl start mariadb)的时候,系统会自动的创建一个/var/lib/mysql的目录和目录下需要的文件。

3、思路来了。。。是不是因为我在卸载(yun remove mariadb-server)之后,/var/lib/mysql文件残留?

五、解决方法

1、【mv /var/lib/mysql ~  】将这个目录先移除掉

2、【yum remove mariadb-server】将mariadb-server移除

3、【yum install mariadb-server】重新安装回来

4、【systemctl start mariadb】重启mysql

5、成功解决 【ERROR 2002 (HY000):  through socket '/var/lib/mysq/mysql.sock' (111)】问题

六、师傅笔记贴一贴,膜拜下。。。

########################################################################################

1. CentOS7.x中,直接 yum install zabbix22-server zabbix22-agent,server是统一控制端,agent用于部署到需要监控的机器上做信息采集

2. 初始化:

    a) 安装依赖数据库:

            yum install zabbix-server-mysql zabbix-web-mysql

    b) 创建数据库:

# mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> exit

    c) 初始化schema:

# cd /usr/share/doc/zabbix-server-mysql-2.2.0/create
# mysql -uroot zabbix < schema.sql
# mysql -uroot zabbix < images.sql
# mysql -uroot zabbix < data.sql

    d) 修改配置:

# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
# vi /etc/zabbix/web/zabbix.conf.php
<?php
// Zabbix GUI configuration file
global $DB;
$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = 'localhost';
$DB['PORT']     = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'root';
$DB['PASSWORD'] = '';
// SCHEMA is relevant only for IBM_DB2 database
$DB['SCHEMA'] = '';
$ZBX_SERVER      = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>

    e) 启动服务进程:

# systemctl start zabbix-server
# systemctl restart httpd

    f) 访问 localhost:8080/zabbix即可,默认用户名密码Admin/zabbix


添加监控主机

  1. 在监控对象上安装zabbix-agent,配置agent的Server参数:
        #vi /etc/zabbix_agentd.conf
Server=[zabbix server host]
  1. 在Web UI上添加Host


添加自定义监控项

zabbix的通用设计使得添加自定义的监控项十分方便,比如针对mongodb进行监控的步骤:

  1. 编写数据采集脚本,shell/python等均可;

  2. 注册到agent中, 往 /etc/zabbix_agentd.conf中添加UserParameter=<key-name>[*],<shell command>,意思是添加名为<key-name>的监控项,其值由对应的shell命令获取;[*]表示可传递参数,会将前端的配置通过参数的形式传递给shell脚本。示例:

    UserParameter=mongodb[*], /path/to/script/mongo-stat.sh $1 $2

    则当前端item的key配置为mongdob[a,b]时,将会以a b为参数调用mongo-stat.sh脚本获取结果

  3. 在Web UI上添加item

  4. 注意事项:

  • 自定义的脚本需要放在zabbix用户可访问的路径下,否则会执行失败且很难debug
  • 在自定义item时,把错误输出重定向到标准输出,方便debug:如 sh /path/to/script.sh 2>&1,这样在发生错误的时候,不至于连一点错误信息都没有

完成以上3步即可完成添加自定义监控项。


监控预警


开放API

zabbix中提供开放api接口供二次开发,文档详见:https://www.zabbix.com/documentation/2.2/manual/api

########################################################################################

七、重新配置zabbix web页面

1-1、在configuration中创建host groups

1-2、将监控的机器加入刚刚创建的group中

1-3、将一开始导出来的监控模板xml文件import进来

1-4、为主机关联模板

1-5、OK

八、结束语

这个过程是一个新手的蛋疼过程,大家有不同的看法可以评论或者私信我,一起学习,快乐成长。。。。。。

  相关解决方案