首页 > 数据库 >coredns mysql 扩展使用+readyset 试用

coredns mysql 扩展使用+readyset 试用

时间:2023-01-30 12:36:46浏览次数:58  
标签:readyset -- mysql org coredns foo

基于db 进行dns 记录的管理还是比较有用的,尤其在一些开发环境中,以下是一个使用
同时也会尝试集成readyset(但是木有成功,应该是mysql 编码兼容的问题)

添加&构建插件

方法比较简单,官方有比较完整的文档说明,主要就是修改plugin.cfg 文件,同时通过go get 获取插件,然后就是
go generate 以及 go build,为了方便我构建了一个容器镜像,可以直接使用​​​dalongrong/coredns​

环境准备

  • docker-compose 文件

 

version: '3'services:coredns:image: dalongrong/corednscommand: -conf=/opt/Corefilevolumes:- ./Corefile:/opt/Corefileports:- 53:53- 53:53/udpmysql:image: mysql:8.0.32command: --default-authentication-plugin=mysql_native_password --log-bin --binlog-format=ROW --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_cienvironment:- MYSQL_ROOT_PASSWORD=dalong- MYSQL_DATABASE=corednsports:- 3306:3306# 包含了readyset 但是目前似乎是兼容问题没成功readyset:image: public.ecr.aws/readyset/readyset:beta-2023-01-18command: --standalone --deployment=quickstart-mysql --database-type=mysql -upstream-db-url=mysql://root:dalong@mysql:3306/coredns --address=0.0.0.0:5433   --password=dalong --query-caching=explicit --db-dir=/state --allow-unauthenticated-connectionsenvironment:- DEPLOYMENT_ENV=quickstart_docker- RS_API_KEYports:- 5433:5433volumes:- ./readyset:/stateCorefile 配置文件
.:53 {mysql {dsn root:dalong@tcp(mysql:3306)/coredns?tls=skip-verify&autocommit=truettl 20}}

运行&准备

  • 启动环境
docker-compose up -d
  • 初始化数据表
CREATE TABLE `coredns_records` (`id` INT NOT NULL AUTO_INCREMENT,`zone` VARCHAR(255) NOT NULL,`name` VARCHAR(255) NOT NULL,`ttl` INT DEFAULT NULL,`content` TEXT,`record_type` VARCHAR(255) NOT NULL,PRIMARY KEY (`id`)) 
INSERT INTO coredns_records (zone, name, ttl, content, record_type) VALUES('example.org.', 'foo', 30, '{"ip": "1.1.1.1"}', 'A'),('example.org.', 'foo', '60', '{"ip": "1.1.1.0"}', 'A'),('example.org.', 'foo', 30, '{"text": "hello"}', 'TXT'),('example.org.', 'foo', 30, '{"host" : "foo.example.org.","priority" : 10}', 'MX');
  • 查询效果
dig @127.0.0.1 A MX foo.example.org

coredns mysql 扩展使用+readyset 试用_mysql

 

 

说明

本来是想测试readyset的,但是碰到了兼容问题,基本就是没成功,错误信息如下,应该是编码兼容问题,readyset 的想法是很不错的,目前兼容性问题还是不少的,可能pg 协议会好点,后边尝试下

coredns mysql 扩展使用+readyset 试用_github_02

 

 

参考资料

​https://docs.readyset.io/guides/quickstart/​​​
​​​https://github.com/readysettech/readyset​​​
​​​https://github.com/cloud66-oss/coredns_mysql​​​
​​​https://github.com/coredns/coredns​​​
​​​https://coredns.io/2017/07/25/compile-time-enabling-or-disabling-plugins/​

标签:readyset,--,mysql,org,coredns,foo
From: https://blog.51cto.com/rongfengliang/6026189

相关文章

  • readyset 轻量级pg 以及mysql 缓存引擎
    readyset是基于rust开发的pg以及mysql轻量级缓存服务参考玩法如下图  说明readyset一些设计还是很有意思的,很值得学习,同时也可以在项目中尝试使用参考资料​​https:/......
  • 问题:MySQL和Redis安装和配置
    MySQLmysql官网下载:https://dev.mysql.com/downloads/mysql/下载后将目录下的bin路径加入到环境变量中在安装目录下创建my.ini配置文件:(可以解决---本地计算机上的......
  • MySql 错误:建表时出错1067 - Invalid default value for 'id'
    问题描述:建表时报错无效的默认值:CREATETABLE`product`(`id`INT(10)NOTNULLPRIMARYKEYAUTO_INCREMENTCOMMENT'编号'DEFAULT0,`pName`VARCHAR(20)NOT......
  • docker mysql
    dockerpullmysqldockerrun-itd--namemysql-p3307:3306-eMYSQL_ROOT_PASSWORD=123456mysql--character-set-server=utf8mb4--collation-server=utf8......
  • MysqlDump导出
    mysqldump常用选项--no-create-db,---取消创建数据库sql(默认存在)--no-create-info,---取消创建表sql(默认存在)--no-data---不导出数据(默认导出)--add-drop......
  • MGR复制架构+自动化运维平台,汽车之家MySQL高可用建设实践
    前言 MySQL具有开源免费,运维简单,性能好等优点,是在汽车之家使用最多的一种数据库。数据库作为应用的后端存储,承担着数据持久化存储的功能,是应用可以正常对外提......
  • mysql第二天
    mysql5.7修改默认字符集由于5.7版本的mysql默认使用latin的字符集,所以在创建表成功后向表中插入中文数据会失败。所以要修改编码方式。在存放mysql的数据文件中找到my.......
  • Mysql数据库插入数据时出现Unknown column ‘admin‘ in ‘field list‘错误
    报错内容  报错原因字段和插入的值所用的引号不对 解决方案 insertintot_user(`username`,`password`,`email`)VALUES(`admin`,`admin`,`[email protected]......
  • mysql第一天
    mysql启动和停止命令netstartmysqlnetstopmysql电脑安装两个mysql数据库下分情况登录旧版本和新版本:使用命令:mysql-uroot-P(端口号)-p根据端口号的不同登录......
  • docker安装mysql:5.7
    1.搜索mysqldockersearchmysql:5.72.拉取mysqldockerpullmysql:5.73.运行mysqldockerrun-d-p3310:3306--restart=always-v/home/mysql/conf:/etc/mysql/......