目录

mysql环境

安装docker 

安装python3/pip3 、pxd

Polardbx简单使用

---登陆polardbx数据库

---检查GMS

---创建数据库

---使用polarx_example数据库

---创建数据表

---插入数据

---查看example数据表的分区

---检查CDC

---检查DN和CN

---停止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容器加速器 ,配置它的目的是拉取镜像更快速。

处理过程:

 

 

Dockercs架构,出现客户端、服务端说明安装成功。

查看版本:

 

安装python3/pip3 、pxd

 Pythonpip的安装过程,可以参考如下:

#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;

太多省略。。。。

---检查DNCN

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

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐