首页 / MYSQL / 9 低级发现Mysql多实例
9 低级发现Mysql多实例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了9 低级发现Mysql多实例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3817字,纯文字阅读大概需要6分钟。
内容图文
![9 低级发现Mysql多实例](/upload/InfoBanner/zyjiaocheng/1309/eede669cfaa9442e8300f87a40de1717.jpg)
主要讲item原型
启动mysql多实例
3307 3308
[root@linux-node2 ~]# cp /etc/my.cnf /etc/my3307.cnf
[root@linux-node2 ~]# cp /etc/my.cnf /etc/my3308.cnf
原始的
修改内容如下
[root@linux-node2 ~]# grep ‘^[a-Z]‘ /etc/my3308.cnf datadir=/data/3308 socket=/data/3308/mysql.sock symbolic-links=0 port=3308 log-error=/data/3308/mariadb.log pid-file=/data/3308/mariadb.pid [root@linux-node2 ~]# grep ‘^[a-Z]‘ /etc/my3307.cnf datadir=/data/3307 socket=/data/3307/mysql.sock symbolic-links=0 port=3307 log-error=/data/3307/mariadb.log pid-file=/data/3307/mariadb.pid
初始化
mysql_install_db --user=mysql --defaults-file=/etc/my3307.cnf
启动
mysqld_safe --defaults-file=/etc/my3307.cnf &
查看端口
添加3306实例
[root@linux-node2 ~]# mkdir /data/3306 [root@linux-node2 ~]# In -s /var/lib/mysql/mysql.sock /data/3306 -bash: In: command not found
[root@linux-node2 ~]# ln -s /var/lib/mysql/mysql.sock /data/3306 [root@linux-node2 ~]# [root@linux-node2 ~]# find /data -name ‘*.sock‘ /data/3307/mysql.sock /data/3308/mysql.sock /data/3306/mysql.sock
3、编写脚本测试
[root@db01 ~]# chmod 755 /data/* [root@db01 ~]# ll -d /data/* drwxr-xr-x 2 root root 23 6月 21 09:58 /data/3306 drwxr-xr-x 5 mysql root 4096 6月 21 09:48 /data/3307 drwxr-xr-x 5 mysql root 4096 6月 21 09:53 /data/3308 [root@db01 ~]# netstat -lntp|awk -F "[ :]+" ‘/mysqld/{print$5}‘ 3306 3307 3308
编写脚本获取多实例并输出为json格式
[root@linux-node2 ~]# vim /etc/zabbix/zabbix_agentd.d/discovery_mysql.sh [root@linux-node2 ~]# cat /etc/zabbix/zabbix_agentd.d/discovery_mysql.sh
#!/bin/bash #mysql low-lever discovery res=`netstat -lntp|grep mysql |awk -F "[ :]+"‘{print $5}‘` port=($res) printf ‘{‘ printf ‘"data":[‘for key in ${!port[@]} doif [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then printf ‘{‘ printf "\"{#MYSQLPORT}\":\"${port[${key}]}\"},"else [[ "${key}" -eq "((${#port[@]}-1))" ]] printf ‘{‘ printf "\"{#MYSQLPORT}\":\"${port[${key}]}\"}" fi done printf ‘]‘ printf ‘}‘
可以先看下 网络的 discovery
[root@linux-node2 ~]# zabbix_agentd -p |grep discovery
执行 mysql的discovery
[root@linux-node2 ~]# sh /etc/zabbix/zabbix_agentd.d/discovery_mysql.sh {"data":[{"{#MYSQLPORT}":"3306"},{"{#MYSQLPORT}":"3307"},{"{#MYSQLPORT}":"3308"}]} # 转化为json [root@linux-node2 ~]# sh /etc/zabbix/zabbix_agentd.d/discovery_mysql.sh |python -m json.tool { "data": [ { "{#MYSQLPORT}": "3306" }, { "{#MYSQLPORT}": "3307" }, { "{#MYSQLPORT}": "3308" } ] }
写自定义的key
[root@linux-node2 ~]# cat /etc/zabbix/zabbix_agentd.d/discovery_mysql.conf
UserParameter=discovery_mysql, sh /etc/zabbix/zabbix_agentd.d/discovery_mysql.sh
重启agent,获取
授权
netstat -nltp
p必须root用户才能执行
脚本中需要为zabbix用户授权netstat的命令
# 方法一:sudo
# 方法二:
去掉脚本的sudo,添加suid
ll `which netstat`
chmod u+s /usr/bin/netstat
重新获取
zabbix_get -s 192.168.194.132 -p 10050 -k "discovery_mysql"
2、web界面
添加自动发现规则
创建item原型
自动发现需要item的key 去传参
定义mysql的配置文件
[root@linux-node2 /etc/zabbix/zabbix_agentd.d]# cat userparameter_mysql.conf UserParameter=mysql.status[*],echo "show global status where Variable_name=‘$2‘;" | HOME=/var/lib/zabbix mysql -uroot -proot -h 127.0.0.1 -P $1 -N | awk ‘{print $$2}‘
几个实例的用户名密码都修改mysql密码
mysqladmin -h 127.0.0.1 -uroot password ‘root‘ -P 3306 mysqladmin -h 127.0.0.1 -uroot password ‘root‘ -P 3307 mysqladmin -h 127.0.0.1 -uroot password ‘root‘ -P 3308
test
[root@linux-node2 ~]# mysql -uroot -proot -h127.0.0.1 -P3306 MariaDB [(none)]> use mysql MariaDB [mysql]> show GLOBAL VARIABLES like ‘port‘; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | port | 3306 | +---------------+-------+ 1 row inset (0.00 sec)
重启agent
server端测试
[root@linux-node1 /etc/zabbix]# zabbix_get -s 192.168.194.132 -p 10050 -k "mysql.status[3306,Com_begin]"0 [root@linux-node1 /etc/zabbix]# zabbix_get -s 192.168.194.132 -p 10050 -k "mysql.status[3306,Bytes_sent]"19645211
原文:https://www.cnblogs.com/venicid/p/12207007.html
内容总结
以上是互联网集市为您收集整理的9 低级发现Mysql多实例全部内容,希望文章能够帮你解决9 低级发现Mysql多实例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。