Docker 安装 GreatSql 数据库(可平替MySql)

GreatSQL 数据库是一款开源免费数据库,可在普通硬件上满足金融级应用场景,具有高可用、高性能、高兼容、高安全等特性,可作为MySQL或Percona Server for MySQL的理想可选替换。本教程仅介绍单主机安装方式,集群高可用方案,详见官方文档。
一、拉取镜像
docker pull greatsql/greatsql二、安装程序
1. 创建临时容器将配置文件copy到磁盘
# 创建目录,用于存储数据和配置文件
mkdir -p /data/greatsql/{conf,data}
# 创建临时容器
docker create --name greatsql greatsql/greatsql
# 复制配置文件到宿主机
docker cp greatsql:/etc/my.cnf /data/greatsql/conf
# 删除临时容器
docker rm greatsql2. 为了简化设置,此先设置空密码,下边再进行修改
# 启动程序
docker run -d \
-p 3306:3306 \
--restart=unless-stopped \
--name greatsql --hostname=greatsql \
-e MYSQL_ALLOW_EMPTY_PASSWORD=1 \
-e MYSQL_INIT_MGR=1 \
-e MYSQL_MGR_START_AS_PRIMARY=1 \
-e MYSQL_MGR_ARBITRATOR=0 \
-e LOWER_CASE_TABLE_NAMES=0 \
# 映射配置文件
-v /data/greatsql/conf/my.cnf:/etc/my.cnf \
# 映射数据目录
-v /data/greatsql/data:/data/GreatSQL \
greatsql/greatsql三、设置密码及远程访问
docker exec -it greatsql /bin/bash   # 进入容器,也可以使用 Portainer
mysql -u root                        # 在容器内登录mysql数据库
# 切换到mysql数据库
use mysql;
# 修改root密码,有密码强度要求
ALTER USER 'root'@'%' IDENTIFIED BY 'PE307I1P7PMnp1JQyiTGBSMqEhPq8zV7';
# 使修改立即生效
flush privileges;四、扩展配置
1. 调整 sql_mode = only_full_group_by,修改 my.cnf配置文件,重启 greatsql容器后生效

[mysqld]
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'2. 安装使用 Rapid引擎 ,使得GreatSQL能满足联机分析(OLAP)查询请求。
# 安装引擎
INSTALL PLUGIN Rapid SONAME 'ha_rapid.so';
# 为InnoDB表加上Rapid辅助引擎
greatsql> ALTER TABLE t1 SECONDARY_ENGINE = rapid;
-- 查看建表DDL,发现增加了 SECONDARY_ENGINE=rapid
greatsql> SHOW CREATE TABLE t1\G
*************************** 1. row ***************************
       Table: t1
Create Table: CREATE TABLE `t1` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `c1` int unsigned NOT NULL DEFAULT '0',
  `c2` varchar(30) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci SECONDARY_ENGINE=rapid
THE END
                            二维码
                                打赏
 
文章目录
关闭

共有 0 条评论