Tidb的简介

TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。

与传统的单机数据库相比,TiDB 具有以下优势:

1)纯分布式架构,拥有良好的扩展性,支持弹性的扩缩容

2)支持 SQL,对外暴露 MySQL 的网络协议,并兼容大多数 MySQL 的语法,在大多数场景下可以直接替换 MySQL

3)默认支持高可用,在少数副本失效的情况下,数据库本身能够自动进行数据修复和故障转移,对业务透明

4)支持 ACID 事务,对于一些有强一致需求的场景友好,例如:银行转账

5)具有丰富的工具链生态,覆盖数据迁移、同步、备份等多种场景

实验环境准备:

两台虚拟机:

192.168.153.128 server1 zabbix-server ,TiDB

192.168.153.133 server2 tikv集群

环境搭建:

在两台机器上下载tidb二进制软件包

wget https://download.pingcap.org/tidb-latest-linux-amd64.tar.gz

zabbix数据在第三方展示 zabbix支持的数据库有哪些_MySQL

tar zxf tidb-latest-linux-amd64.tar.gz

(server1,2执行同样操作)

Server1解压后,进入解压后的包里,执行如下操作:

.

./bin/pd-server --name=pd1 --data-dir=pd1 --client-urls="http://192.168.153.128:2379" --peer-urls="http://192.168.153.128:2380" --initial-cluster="pd1=http://192.168.153.128:2380" --log-file=pd.log &        #开启PD并后台运行
netstat -antlp | grep pd   #查看两个端口是否运行

zabbix数据在第三方展示 zabbix支持的数据库有哪些_MySQL_02

在server2中进入解压后的文件:

./bin/tikv-server --pd="192.168.153.128:2379" --addr="192.168.153.133:20160" --data-dir=tikv1 --log-file=tikv.log &   #将pd指向server1
netstat -antlp | grep tikv
#执行完成后要看到以下端口开启与否

zabbix数据在第三方展示 zabbix支持的数据库有哪些_java_03

在server1服务端开启zabbix及tidb

在server1中执行以下操作:

./bin/tidb-server &   #开启tidb-server服务并打入后台

zabbix数据在第三方展示 zabbix支持的数据库有哪些_数据库_04

netstat -antlp | grep tidb #查看端口是否开启

zabbix数据在第三方展示 zabbix支持的数据库有哪些_mysql_05

数据导入:

建立数据库:

[root@server1 ~]# mkdir mysql
[root@server1 ~]# cd mysql/
[root@server1 mysql]# ls
[root@server1 mysql]# mkdir mysql1
[root@server1 mysql]# cd mysql1/

zabbix数据在第三方展示 zabbix支持的数据库有哪些_java_06

[root@server1 mysql1]# tar xf mysql-5.7.33-1.el7.x86_64.rpm-bundle\(1\).tar
[root@server1 mysql1]# ls

zabbix数据在第三方展示 zabbix支持的数据库有哪些_java_07

yum install -y mysql-community-client-5.7.33-1.el7.x86_64.rpm mysql-community-common-5.7.33-1.el7.x86_64.rpm  mysql-community-libs-5.7.33-1.el7.x86_64.rpm  mysql-community-libs-compat-5.7.33-1.el7.x86_64.rpm  mysql-community-server-5.7.33-1.el7.x86_64.rpm

 

zabbix数据在第三方展示 zabbix支持的数据库有哪些_mysql_08

进入数据库,将数据库中的数据从mysql转移到tidb 

进入mysql数据库  创建zabbix用户并设定权限

 mysql -h 192.168.153.128 -P 4000 -uroot

将数据从mysql转移到tidb 

进入mysql数据库  创建zabbix用户并设定权限

create database zabbix character set utf8 collate utf8_bin;

CREATE USER 'zabbix'@'%' IDENTIFIED BY '123456-westos-MA';

 grant all privileges on *.* to 'zabbix'@'%';

[root@server1 tidb-v5.0.1-linux-amd64]# mysql -h 192.168.153.128 -P 4000 -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25-TiDB-v5.0.1 TiDB Server (Apache License 2.0) Community Edition, MySQL 5.7 compatible

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> CREATE USER 'zabbix'@'%' IDENTIFIED BY '123456-westos-MA';

mysql> grant all privileges on *.* to 'zabbix'@'%';

权限设定完毕后开始对mysql数据库进行备份

切换目录 开始备份  中途不要ctrl+c 结束

对数据库进行备份:

切换目录 开始备份  中途不要ctrl+c 结束

cd /usr/share/doc/zabbix-server-mysql-5.0.25/
mysqldump -uroot -p123456-westos-MA zabbix >/mnt/zabbix.sql

将mysql数据库的内容导入到tidb中

[root@server1 mnt]# mysql -h 192.168.153.128 -P 4000 -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.7.25-TiDB-v5.0.1 TiDB Server (Apache License 2.0) Community Edition, MySQL 5.7 compatible

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use zabbix;
Database changed
mysql> set tidb_batch_insert=1;
Query OK, 0 rows affected (0.00 sec)

mysql> source /mnt/zabbix.sql;

直接等待导入完成

编辑配置文件vim /etc/zabbix/zabbix_server.conf   将 zabbix 的监听端口更改为4000

zabbix数据在第三方展示 zabbix支持的数据库有哪些_mysql_09

 

编辑配置文件/etc/zabbix/web/zabbix.conf.php

将server选项更改为自己的tidb主机 更改端口为4000

<?php
// Zabbix GUI configuration file.

$DB['TYPE']                             = 'MYSQL';
$DB['SERVER']                   = '192.168.153.128';
$DB['PORT']                             = '4000';
$DB['DATABASE']                 = 'zabbix';
$DB['USER']                             = 'zabbix';
$DB['PASSWORD']                 = '123456-westos-MA';

重启zabbix-server   zabbix-agent服务

[root@server1 web]# systemctl restart zabbix-agent.service
[root@server1 web]# systemctl restart zabbix-server.service

重新访问zabbix主机:

zabbix数据在第三方展示 zabbix支持的数据库有哪些_zabbix数据在第三方展示_10