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