猿创征文|分布式国产数据库 TiDB 从入门到实战_查看tidb版本(2)



> 
> 安装程序跑完后,记得看一下是否所有的组件都成功安装,如果安装失败,根据提示查看日志进行解决。
> 
> 
> 


**7)、启动集群**


命令格式:



tiup cluster start


执行命令:



tiup cluster start my-tidb


**8)、客户端访问**



> 
> 一定要关闭防火墙在进行测试
> 
> 
> 


使用 `Navicat` 客户端连接工具,选择MySQL方式连接。连接成功。


![在这里插入图片描述](https://img-blog.csdnimg.cn/e41e343e3a4b40faa1096683c4612e95.jpeg#pic_center)


使用 `SQLyog` 也可以连接成功。


![在这里插入图片描述](https://img-blog.csdnimg.cn/df9ff04a148b495fa32ca229e55df8b2.jpeg#pic_center)


**9)、Grafana 监控页面**


访问地址:



http://IP:3000



> 
> 默认用户名和密码均为 `admin`。
> 
> 
> 


![在这里插入图片描述](https://img-blog.csdnimg.cn/2642c89bb0eb4ff1821362e4ece18de3.jpeg#pic_center)


**10)、TiDB 的 Dashboard**


访问地址:



http://IP:2379/dashboard



> 
> 默认用户名为 `root`,密码为空。
> 
> 
> 


![在这里插入图片描述](https://img-blog.csdnimg.cn/97a80f2d6a3f4c65ba69adac6c7140ce.jpeg#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/e4e9aafb16f2428bb63238df42bc5b20.jpeg#pic_center)



> 
> 有很多实用的功能,可以查看 QPS、慢查询、流量查询等。可以帮助我们快速的定位问题。
> 
> 
> 


### 四、SQL 基本操作


安装好 TiDB 后,便可以在 TiDB 中执行 SQL 语句了。我这里直接使用大家常用的 Navicat 进行操作了。


因为 TiDB 兼容 MySQL,我们可以像操作 MySQL 一样操作 TiDB。


#### 4.1、库操作


**1)、查看数据库列表**



SHOW DATABASES;


![在这里插入图片描述](https://img-blog.csdnimg.cn/247d5fd002ab4104827eaa953ad22deb.jpeg#pic_center)


**2)、创建数据库**



CREATE DATABASE IF NOT EXISTS my_db;


添加 `IF NOT EXISTS` 可防止发生错误。


**3)、切换数据库**



USE my_db;


**4)、删除数据库**



DROP DATABASE my_db;


**5)、查看数据库下所有的表**



SHOW TABLES FROM my_db;


#### 4.2、表操作


**1)、创建表**


语法格式:



CREATE TABLE table_name column_name data_type constraint;


创建 `sys_user` 表



CREATE TABLE sys_user (
id INT(11),
name VARCHAR(255),
birthday DATE
);


**2)、删除表**



DROP TABLE sys_user;


**3)、插入数据**


两种方式



INSERT INTO sys_user VALUES(1,‘tom’,‘20221008’);



INSERT INTO sys_user(id,name) VALUES(‘2’,‘bob’);


**4)、查询数据**



SELECT * FROM sys_user;


**5)、修改数据**



UPDATE sys_user SET birthday=‘20221009’ WHERE id=2;


**6)、删除数据**



DELETE FROM sys_user WHERE id=2;


#### 4.3、索引操作


**1)、普通索引**


两种方式



CREATE INDEX sys_user_id ON sys_user (id);



ALTER TABLE sys_user ADD INDEX sys_user_id (id);


**2)、唯一索引**


两种方式



CREATE UNIQUE INDEX sys_user_unique_id ON sys_user (id);



ALTER TABLE sys_user ADD UNIQUE sys_user_unique_id (id);


**3)、查看表内索引**



SHOW INDEX FROM sys_user;


**4)、删除索引**


两种方式



DROP INDEX sys_user_id ON sys_user;



ALTER TABLE sys_user DROP INDEX sys_user_unique_id;


#### 4.4、用户操作


**1)、创建用户**


创建用户 `micromaple` ,密码 `123456`



CREATE USER ‘micromaple’@‘localhost’ IDENTIFIED BY ‘123456’;


**2)、授权用户**


授权用户 `micromaple` 可检索数据库 `my_db` 内的表:



GRANT SELECT ON my_db.* TO ‘micromaple’@‘localhost’;


授权所有权限:



GRANT ALL PRIVILEGES ON *.* TO ‘micromaple’@‘localhost’;


**3)、查询权限**



SHOW GRANTS for micromaple@localhost;


**4)、删除用户**



DROP USER ‘micromaple’@‘localhost’;


**5)、设置用户远程访问**



update mysql.user set host = ‘%’ where user = ‘micromaple’;
FLUSH PRIVILEGES;


### 五、SpringBoot 整合


TiDB 对于 JDBC 的支持等级是 `Full`。也就是全量支持。


我们只需要引入 Java JDBC 驱动程序即可使用。



> 
> 官方说明:强烈建议使用 JDBC 5.1 的最后一个版本 5.1.49。因为当前 8.0.29 版本有未合并的Bug 修复,在与 TiDB 共同使用时可能会导致线程卡死。在 MySQL JDBC 8.0 未合并此修复之前,建议不要升级至 8.0 版本。
> 
> 
> 


`Maven` 引入依赖



junit junit test org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test mysql mysql-connector-java 5.1.49 org.springframework.boot spring-boot-starter-jdbc com.baomidou mybatis-plus-boot-starter 3.5.2 org.projectlombok lombok

`application.yml` 配置:



spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:mysql://192.168.110.134:4000/my_db?useUnicode=true&characterEncoding=utf-8&useSSL=true
username: root
password:


启动类增加注解,扫描`mapper`包



@MapperScan(value = “com.micromaple.tidb.mapper”)


`SysUser` 实体类



package com.micromaple.tidb.domain;

import lombok.Data;

import java.util.Date;

@Data
public class SysUser {
/**
* 主键ID
*/
private Integer id;

/\*\*

* 姓名
*/
private String name;

/\*\*

* 生日
*/
private Date birthday;

}


`SysUserMapper`



package com.micromaple.tidb.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.micromaple.tidb.domain.SysUser;
import org.springframework.stereotype.Repository;

@Repository
public interface SysUserMapper extends BaseMapper {

}


编写测试类,测试新增和查询



package com.micromaple.tidb;

import com.micromaple.tidb.domain.SysUser;
import com.micromaple.tidb.mapper.SysUserMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.Date;
import java.util.List;

@SpringBootTest(classes = TiDBDemoApplication.class)
@RunWith(SpringRunner.class)
public class SysUserTest {

@Autowired
private SysUserMapper sysUserMapper;

@Test
public void testAdd() {
    SysUser sysUser = new SysUser();
    sysUser.setId(3);
    sysUser.setName("Micromaple");
    sysUser.setBirthday(new Date());
    int i = sysUserMapper.insert(sysUser);
    if(i > 0){
        System.out.println("新增成功");
    }
}

@Test
public void testSelect() {
    List<SysUser> sysUserList = sysUserMapper.selectList(null);
    for (SysUser sysUser : sysUserList) {
        System.out.println(sysUser.getName());
    }
}

}


测试成功!!


最大的感触就是跟使用 MySQL 基本没有任何差别,可以使用常用的 ORM 框架,比如:`Hibernate`、`MyBatis`等。




![img](https://img-blog.csdnimg.cn/img_convert/e18e7ef446bd366691eba8095582bdcc.png)
![img](https://img-blog.csdnimg.cn/img_convert/15d9533c71dd50791e719987d4c8c716.png)
![img](https://img-blog.csdnimg.cn/img_convert/52178b05b62b4b07b844337c604af72d.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

UserMapper.selectList(null);
        for (SysUser sysUser : sysUserList) {
            System.out.println(sysUser.getName());
        }
    }
}

测试成功!!

最大的感触就是跟使用 MySQL 基本没有任何差别,可以使用常用的 ORM 框架,比如:HibernateMyBatis等。

[外链图片转存中…(img-xd6SP7mt-1714544318111)]
[外链图片转存中…(img-ReOKMx0u-1714544318112)]
[外链图片转存中…(img-KNF7UYHO-1714544318112)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值