开源polardbx部署
开源polardb x
目录
mysql环境
安装略
安装docker
#依赖包安装
dnf install -y yum-utils device-mapper-persistent-data lvm2
#下载官方仓库
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
#安装并启动docker
yum install docker-ce –y
systemctl daemon-reload
systemctl start docker
#查看是否安装成功
docker version
注意安装报错
#看到client 和server说明安装成功,如果缺少某个,需要卸载重装
原因:查看 daemon.json,显示没有配置docker容器加速器 ,配置它的目的是拉取镜像更快速。
处理过程:
Docker为cs架构,出现客户端、服务端说明安装成功。
查看版本:
安装python3/pip3 、pxd
Python和pip的安装过程,可以参考如下:
#yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
#上传下载好的包
# tar -zxvf Python-3.10.7.tgz
# cd Python-3.10.7.tgz
# ./configure --prefix=/usr/local/python3
# make && make install
# ln -sf /usr/local/python3/bin/* /usr/local/bin/
# vim ~/.bash_profile
------找到该部分进行编辑—
PATH=$PATH:$HOME/bin:/usr/local/python3/bin
#source ~/.bash_profile
# cd /usr/local/python3
# pip3 -V
# python3 -V
# python3 -m venv venv
# source venv/bin/activate
# pip install --upgrade pip
# pip install pxd
直接运行 pxd tryout 命令会创建一个最新版本的 PolarDB-X 数据库,其中 GMS, CN, DN, CDC 节点各 1 个:
(venv) [root@test03 python3]# pxd tryout
这块报错:No module named '_ssl'
处理办法:上传openssl包,
tar -zxvf openssl-1.1.1q.tar.gz
openssl-1.1.1q (进入对应的解压目录)
./config --prefix=/usr/local/openssl shared zlib
(prefix为配置安装目录,shared zlib 安装依赖库)这一步最重要,一定要shared
make && make install
(venv) [root@test03 python3]#
执行如下命令,拉取PolarDB-X容器镜像。
# docker pull polardbx/polardb-x
执行如下命令,运行PolarDB-X容器。
# docker run -d --name some-polardb-x -p 8527:8527 polardbx/polardb-x
Polardbx简单使用
---登陆polardbx数据库
# mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
---检查GMS
mysql> select * from information_schema.schemata;
+--------------+--------------------+----------------------------+------------------------+----------+--------------------+
| CATALOG_NAME | SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH | DEFAULT_ENCRYPTION |
+--------------+--------------------+----------------------------+------------------------+----------+--------------------+
| def | information_schema | utf8 | UTF8_GENERAL_CI | NULL | NO |
| def | __cdc__ | utf8 | UTF8_GENERAL_CI | NULL | NO |
+--------------+--------------------+----------------------------+------------------------+----------+--------------------+
2 rows in set (0.08 sec)
---创建数据库
mysql> create database polarx_example mode='auto';
Query OK, 1 row affected (0.15 sec)
---使用polarx_example数据库
mysql> use polarx_example;
Database changed
---创建数据表
mysql> create table example (
-> `id` bigint(11) auto_increment NOT NULL,
-> `name` varchar(255) DEFAULT NULL,
-> `score` bigint(11) DEFAULT NULL,
-> primary key (`id`)
-> ) engine=InnoDB default charset=utf8
-> partition by hash(id)
-> partitions 8;
Query OK, 0 rows affected (1.14 sec)
---插入数据
mysql> insert into example values(null,'lily',375),(null,'lisa',400),(null,'ljh',500);
Query OK, 3 rows affected (0.05 sec)
mysql> select * from example;
+--------+------+-------+
| id | name | score |
+--------+------+-------+
| 100001 | lily | 375 |
| 100002 | lisa | 400 |
| 100003 | ljh | 500 |
+--------+------+-------+
3 rows in set (0.04 sec)
---查看example数据表的分区
mysql> show topology from example;
+----+-----------------------------+--------------------+----------------+
| ID | GROUP_NAME | TABLE_NAME | PARTITION_NAME |
+----+-----------------------------+--------------------+----------------+
| 0 | POLARX_EXAMPLE_P00000_GROUP | example_iNHu_00000 | p1 |
| 1 | POLARX_EXAMPLE_P00000_GROUP | example_iNHu_00001 | p2 |
| 2 | POLARX_EXAMPLE_P00000_GROUP | example_iNHu_00002 | p3 |
| 3 | POLARX_EXAMPLE_P00000_GROUP | example_iNHu_00003 | p4 |
| 4 | POLARX_EXAMPLE_P00000_GROUP | example_iNHu_00004 | p5 |
| 5 | POLARX_EXAMPLE_P00000_GROUP | example_iNHu_00005 | p6 |
| 6 | POLARX_EXAMPLE_P00000_GROUP | example_iNHu_00006 | p7 |
| 7 | POLARX_EXAMPLE_P00000_GROUP | example_iNHu_00007 | p8 |
+----+-----------------------------+--------------------+----------------+
8 rows in set (0.00 sec)
---检查CDC
mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| FILE | POSITION | BINLOG_DO_DB | BINLOG_IGNORE_DB | EXECUTED_GTID_SET |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000001 | 6903 | | | |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.44 sec)
mysql> show binlog events in 'binlog.000001' from 4;
太多省略。。。。
---检查DN和CN
mysql> show storage;
+-----------------+----------------+------------+-----------+----------+-------------+--------+-----------+-------+--------+
| STORAGE_INST_ID | LEADER_NODE | IS_HEALTHY | INST_KIND | DB_COUNT | GROUP_COUNT | STATUS | DELETABLE | DELAY | ACTIVE |
+-----------------+----------------+------------+-----------+----------+-------------+--------+-----------+-------+--------+
| polardbx_dn_0 | 127.0.0.1:4886 | true | MASTER | 2 | 3 | 0 | false | null | null |
| polardbx_meta | 127.0.0.1:4886 | true | META_DB | 2 | 2 | 0 | false | null | null |
+-----------------+----------------+------------+-----------+----------+-------------+--------+-----------+-------+--------+
2 rows in set (0.01 sec)
mysql> show mpp;
+-------------------+-----------------+------+--------+
| ID | NODE | ROLE | LEADER |
+-------------------+-----------------+------+--------+
| polardbx-polardbx | 172.17.0.2:9090 | W | Y |
+-------------------+-----------------+------+--------+
1 row in set (0.00 sec)
mysql> exit
Bye
---停止PolarDB-X容器
(venv) [root@test03 python3]# docker stop some-polardb-x
some-polardb-x
再重新连接时:
# docker start some-polardb-x
更多推荐
所有评论(0)