MySQL 5.7: 使用组复制(MySQL Group Replication)
MySQL 5.7: 使用MySQL Router实现应用程序的高可用
MySQL 5.7: 把现有的复制组迁移到InnoDB Cluster
MySQL 5.7: 使用PMM监视和管理数据库html数据库高可用以前说了, 如今咱们来摆一下后面的事情. 那就是数据库的监视和管理. 目标是保持数据库良好稳定的运行, 为业务提供支撑. 一旦出现问题能够及时发现, 及时解决. 减小损失.mysql
安装包括服务器端和客户端的安装步骤sql
官方提供了3中部署方式, 这里我选择Docker, 简单, 方便!docker
其余安装方式在这里数据库
首先, 安装Dockersegmentfault
curl -sSL https://get.daocloud.io/docker | sh
其次, 拉取服务器镜像, 建立PMM数据容器, 建立PMM服务器容器bash
# 拉取服务器镜像 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 是一个复制拓扑的可视化和管理工具.curl
仓库准备, 须要执行如下命令socket
# 下载仓库文件 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