狗蛋的窝 2019-06-26
MySQL 5.7: 使用组复制(MySQL Group Replication)
MySQL 5.7: 使用MySQL Router实现应用程序的高可用
MySQL 5.7: 把现有的复制组迁移到InnoDB Cluster
MySQL 5.7: 使用PMM监视和管理数据库数据库高可用之前说了, 现在我们来摆一下后面的事情. 那就是数据库的监视和管理. 目标是保持数据库良好稳定的运行, 为业务提供支撑. 一旦出现问题可以及时发现, 及时解决. 减少损失.
安装包括服务器端和客户端的安装步骤
官方提供了3中部署方式, 这里我选择Docker, 简单, 方便!
其他安装方式在这里
首先, 安装Docker
curl -sSL https://get.daocloud.io/docker | sh
其次, 拉取服务器镜像, 创建PMM数据容器, 创建PMM服务器容器
# 拉取服务器镜像 docker pull percona/pmm-server:latest # 创建PMM数据容器 docker create \ -v /opt/prometheus/data \ -v /opt/consul-data \ -v /var/lib/mysql \ -v /var/lib/grafana \ --name pmm-data \ percona/pmm-server:latest /bin/true # 创建PMM服务器容器, 同时设置登录用户名(SERVER_USER)和密码(SERVER_PASSWORD), 根据需要进行修改. 默认使用80端口, 如果需要可以更改. docker run -d -p 80:80 \ --volumes-from pmm-data \ --name pmm-server \ -e SERVER_USER=test \ -e SERVER_PASSWORD=test \ --restart always \ percona/pmm-server:latest
如果有要启用 Orchestrator, 如下:
docker run -d -p 80:80 \ --volumes-from pmm-data \ --name pmm-server \ -e SERVER_USER=test \ -e SERVER_PASSWORD=test \ -e ORCHESTRATOR_ENABLED=true \ --restart always \ percona/pmm-server:latest
Orchestrator 是一个复制拓扑的可视化和管理工具.
仓库准备, 需要执行以下命令
# 下载仓库文件 wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb # 安装 dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb # 更新 apt-get update
这里我使用Ubuntu 16.04作为例子, 其他系统操作系统, 参考官方文档
# 安装客户端 apt-get install pmm-client
在每个需要性能统计的服务器上安装pmm-client, 并且使用下面的命令连接到服务器并向服务器上报数据:
pmm-admin config --server 172.18.149.207 --server-user test --server-password test
获取MySQL的性能数据, 需要让 pmm-admin 过一次MySQL的登陆验证, 这里我直接使用了MySQL的Unix Socket:
pmm-admin add mysql --user root --password root --socket /var/run/mysqld/mysqld.sock
为了避免命令行密码留在命令历史中, 可以把上面的命令放到SHELL脚本里面.
#!/bin/bash pmm-admin add mysql --user root --password root --socket /var/run/mysqld/mysqld.sock