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 greatsql
2. 为了简化设置,此先设置空密码,下边再进行修改
# 启动程序
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 条评论