docker(15):以docker 方式启动 单机版 tidb

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 1,关于tidbtidb 其灵感来自于 Google 的 F1 和 Google spanner, TiDB 支持包括传统 RDBMS 和 NoSQL 的特性。 sql 完全支持mysql,同时人家还是一个分布式数据库。 什么分库分表都弱爆了,这个直接分,超级方便。而且还是开源的。 是国内的 技术大牛 黄东旭 的公司 pincap 开发的。 就是之前写 codi

1,关于tidb


tidb 其灵感来自于 Google 的 F1 和 Google spanner, TiDB 支持包括传统 RDBMS 和 NoSQL 的特性。
sql 完全支持mysql,同时人家还是一个分布式数据库。
什么分库分表都弱爆了,这个直接分,超级方便。而且还是开源的。
是国内的 技术大牛 黄东旭 的公司 pincap 开发的。
就是之前写 codis 那个人。
https://github.com/pingcap/tidb
很厉害的人,设计的很好的项目。

2,tidb安装&启动


docker pull pingcap/tidb
#45.58 MB
mkdir -p /data/tidb/data
docker run --name tidb-server -d -v /data/tidb/data:/tmp/tidb -p 4000:4000 -p 10080:10080 pingcap/tidb:latest
#设置数据文件,默认使用 goleveldb 存储。

启动成功默认端口 4000 ,也可以伪装成mysql,把端口修改成3306 。

# mysql -h 127.0.0.1 -P 4000 -u root -D test --prompt="tidb> "
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.1-TiDB-1.0 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

tidb> 

登录成功,Server version: 5.7.1-TiDB-1.0 MySQL Community Server (GPL) tidb。
可以使用 10080 端口查看状态信息:

# curl localhost:10080/status
{"connections":1,"version":"5.7.1-TiDB-1.0","git_hash":"31bc1083fc9195181d187639efb847d19037d9de"}

感觉上应该是集群的时候使用的。

3,创建数据库&用户


创建数据库 demo 并创建用户 demo 赋值权限。
注意:这些sql 语句在 mysql & tidb 当中都key执行并成功分配权限&登录成功。

CREATE DATABASE demo CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'demo'@'%' IDENTIFIED BY 'demo';
GRANT ALL PRIVILEGES ON demo.* TO 'demo'@'%';
FLUSH PRIVILEGES;

使用golang进行数据库插入&查询数据:

package main

import (
    "fmt"
    _ "github.com/go-sql-driver/mysql"
    "database/sql"
    "time"
    "strconv"
)
func main() {
    db, err := sql.Open("mysql", "demo:demo@tcp(127.0.0.1:4000)/demo")
    fmt.Println(db, err)
    //
    start := time.Now()
    loop := 10000
    for i := 0; i < loop; i ++ {
        result, err := db.Exec(
            "INSERT INTO users(`name`, age) VALUES (?, ?)",
            "user"+strconv.Itoa(i),
            i,
        )
        if i%(loop/10) == 0 {
            fmt.Println(result, err)
        }
    }
    end := time.Now()
    fmt.Println("测试插入时间:", end.Sub(start).Seconds())
}

4,总结


本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/70843679 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

tidb 是非常好的maridb的替代的产品。
可以完全的兼容

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
Linux 开发者 Docker
Docker 引擎启动、停止、重启操作|学习笔记
快速学习 Docker 引擎启动、停止、重启操作
1098 0
|
弹性计算 安全 Ubuntu
docker启动容器提示read init-p: connection reset by peer: unknown问题
docker启动容器提示read init-p: connection reset by peer: unknown问题
|
4月前
|
NoSQL 架构师 Redis
还用单机版?教你用Docker+Redis搭建主从复制多实例
以下文章来源于爱笑的架构师 ,作者雷架 从华中科技大学硕士毕业,几年间浪迹于多个一线互联网大厂,具有多年开发实战经验。如果你热爱技术或者你不满足现状喜欢搞事情,那你不妨关注我,让我们一路同行,一起分享技术干货、交流面试技巧、吐槽职场故事。我有故事和酒,你来吗?
|
8月前
|
存储 消息中间件 缓存
使用 Docker Compose 部署单机版 Redis:简单高效的数据缓存与存储
家人们啦!今天我们来介绍如何使用 docker-compose 部署单机版 Redis,这是一个简单高效的数据缓存与存储解决方案,广泛应用于Web应用、移动应用以及各类数据处理场景。我们过后几篇文章了将会介绍cluster和sentinel集群的部署。通过本文的指导,你将能够快速上手并体验 Redis 在你的应用中所带来的便捷性与高性能。废话不多说,让我们开始吧!
2022 1
使用 Docker Compose 部署单机版 Redis:简单高效的数据缓存与存储
|
10月前
|
Docker 容器
Docker部署fastdfs单机版
Docker部署fastdfs单机版
99 0
|
10月前
|
SQL Nacos 数据库
Docker部署nacos单机版
Docker部署nacos单机版
305 0
|
10月前
|
NoSQL Redis 数据安全/隐私保护
Docker部署Redis单机版
Docker部署Redis单机版
217 0
|
11月前
|
关系型数据库 MySQL 数据安全/隐私保护
docker单机版 mysql安装
docker单机版 mysql安装
110 0
docker单机版 mysql安装
|
11月前
|
存储 Nacos Docker
|
关系型数据库 MySQL Docker
docker start启动容器后闪退或者失败
docker start启动容器后闪退或者失败
967 0
docker start启动容器后闪退或者失败