readpool.coprocessor.use-unified-pool: true
pd:
replication.enable-placement-rules: true
replication.location-labels: [“host”]
tiflash:
logger.level: “info”
pd_servers:
- host: 192.168.110.134
tidb_servers:
- host: 192.168.110.134
tikv_servers:
-
host: 192.168.110.134
port: 20160
status_port: 20180
config:
server.labels: { host: “logic-host-1” } -
host: 192.168.110.134
port: 20161
status_port: 20181
config:
server.labels: { host: “logic-host-2” } -
host: 192.168.110.134
port: 20162
status_port: 20182
config:
server.labels: { host: “logic-host-3” }
tiflash_servers:
- host: 192.168.110.134
monitoring_servers:
- host: 192.168.110.134
grafana_servers:
- host: 192.168.110.134
* `user: "tidb"`:表示通过 `tidb` 系统用户(部署会自动创建)来做集群的内部管理,默认使用 22 端口通过 ssh 登录目标机器
* `replication.enable-placement-rules`:设置这个 PD 参数来确保 TiFlash 正常运行
* `host`:设置为本部署主机的 IP。(更改为自己机器IP)
**6)、部署集群**
命令格式为:
tiup cluster deploy ./topo.yaml --user root -p
* `<cluster-name>`:需设置的集群名称
* `<tidb-version>`:需设置的集群版本。可以通过 `tiup list tidb` 命令来查看当前支持部署的 TiDB 版本
* `-p` :表示在连接目标机器时使用密码登录
首先使用`tiup list tidb`命令查看 TiDB 版本
tiup list tidb
我们这里就使用最新稳定版 `v6.3.0`。
执行集群部署命令:
tiup cluster deploy my-tidb v6.3.0 ./topo.yaml --user root -p
>
> 此命令需要在 `topo.yaml` 目录执行
>
>
>
执行后,会提示让你输入 SSH 密码,也就是你的登录密码。
$ tiup cluster deploy my-tidb v6.3.0 ./topo.yaml --user root -p
tiup is checking updates for component cluster …
Starting component cluster
: /root/.tiup/components/cluster/v1.11.0/tiup-cluster deploy my-tidb v6.3.0 ./topo.yaml --user root -p
Input SSH password:
然后根据提示,输入 `y` 后,等待部署完成
Do you want to continue? [y/N]: (default=N)
>
> 安装程序跑完后,记得看一下是否所有的组件都成功安装,如果安装失败,根据提示查看日志进行解决。
>
>
>
**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:
![img](https://img-blog.csdnimg.cn/img_convert/03ddebd2fa6f5eb5380acafcb20ded74.png)
![img](https://img-blog.csdnimg.cn/img_convert/fb1d4ad932f498acae2e93d42b99f2e9.png)
![img](https://img-blog.csdnimg.cn/img_convert/a9d20948acded90e4ad13adef82cdf56.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
rce:
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:
[外链图片转存中…(img-Mbz4Ka8V-1714544377741)]
[外链图片转存中…(img-YT8oBwWk-1714544377742)]
[外链图片转存中…(img-vfcUWRJe-1714544377742)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新