TiDB测试环境的快速部署

方法一:

  1. 使用TiUP Playground快速部署本地测试环境
 #下载并安装TiUP
 curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
 
 #声明全局变量
 source ~/.bash_profile
 
 #在当前session执行以下命令启动集群
 tiup playground --默认监听本地服务,若开通外网访问权限,可以通过指定--host 0.0.0.0
 ##也可以指定TiDB版本以及各组件实例个数
 ##tiup playground v4.0.0 --db 2 --kv 3 --monitor #monitor表示同时部署监控组件

结果输出访问方式

CLUSTER START SUCCESSFULLY, Enjoy it ^-^
To connect TiDB: mysql --host 127.0.0.1 --port 4000 -u root
To view the dashboard: http://127.0.0.1:2379/dashboard
To view the Prometheus: http://127.0.0.1:9090
To view the Grafana: http://127.0.0.1:3000

在不指定host的情况下,也可使用nginx做端口转发

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            proxy_pass http://127.0.0.1:9090;
        }
        location /dashboard {
            proxy_pass http://127.0.0.1:2379/dashboard;
        }

方法二:
2. 使用TiUP cluster在单机上模拟生产环境部署
2.1 基本架构
实例 个数 ip 配置
TiKV 3 127.0.0.1 避免端口冲突和目录冲突
TiDB 1 127.0.0.1 默认端口全局目录配置
PD 1 127.0.0.1 默认端口全局目录配置
TiFlash 1 127.0.0.1 默认端口全局目录配置
Monitor 1 127.0.0.1 默认端口全局目录配置
2.2 安装组件

#安装TiUP
curl --porto '=https' --tlsv1.2 --sSf https://tiup-mirrors.pingcap.com/install.sh | sh
#安装TiUP的cluster组件
tiup cluster
#修改/etc/ssh/sshd_config ,将MaxSessions 调至20
service sshd restart

2.3 创建并启动集群
配置模板
user: 表示通过tidb这系统用户作为集群的内部管理
replication.enable-placement-rules: 设置这个PD参数来确保TiFlash正常运行
host: 设置为本部署主机的ip
hostip:设为本机ip

# # Global variables are applied to all deployments and used as the default value of
# # the deployments if a specific deployment value is missing.
global:
 user: "tidb"
 ssh_port: 22
 deploy_dir: "/tidb-deploy"
 data_dir: "/tidb-data"

# # Monitored variables are applied to all the machines.
monitored:
 node_exporter_port: 9100
 blackbox_exporter_port: 9115

server_configs:
 tidb:
   log.slow-threshold: 300
 tikv:
   readpool.storage.use-unified-pool: false
   readpool.coprocessor.use-unified-pool: true
 pd:
   replication.enable-placement-rules: true
   replication.location-labels: ["host"]
 tiflash:
   logger.level: "info"

pd_servers:
 - host: hostip

tidb_servers:
 - host: hostip

tikv_servers:
 - host: hostip
   port: 20160
   status_port: 20180
   config:
     server.labels: { host: "logic-host-1" }

 - host: hostip
   port: 20161
   status_port: 20181
   config:
     server.labels: { host: "logic-host-2" }

 - host: hostip
   port: 20162
   status_port: 20182
   config:
     server.labels: { host: "logic-host-3" }

tiflash_servers:
 - host: hostip

monitoring_servers:
 - host: hostip

grafana_servers:
 - host: hostip

执行集群部署命令

##user root -p  --tidb-version可通过tiup list tidb查看支持部署的版本
tiup cluster deploy <cluster-name> <tidb-version> ./topo.yaml 

启动集群

tiup cluster start <cluster-name>

访问方式同方法一

详情请参考PingCap官方文档
https://docs.pingcap.com/zh/tidb/stable/quick-start-with-tidb

<think>好的,我现在需要详细思考如何回答用户关于TiDB和MariaDB的部署步骤的问题。用户之前已经询问过关于若依系统迁移到国产或轻量级数据库的问题,现在他们想更深入了解这两个数据库的具体部署方法。 首先,我需要确定用户的需求。他们可能正在考虑迁移数据库,现在需要实际的部署指南来评估实施的可行性。用户可能具有一定的技术背景,但可能对这两种数据库的具体部署过程不太熟悉,所以需要详细且清晰的步骤。 接下来,我需要回顾TiDB和MariaDB的官方文档,确保部署步骤的准确性。对于TiDB,它是一个分布式数据库,部署相对复杂,可能涉及多个组件如PD、TiKV、TiDB等,而MariaDB作为MySQL的分支,部署较为简单,特别是单机部署。用户可能需要两种部署方式:单机测试和集群部署,所以需要分别说明。 对于TiDB,官方推荐使用TiUP进行部署,这是他们的部署工具,可以简化流程。需要说明如何安装TiUP,然后部署开发环境(单机)和生产集群。生产集群需要规划节点、配置拓扑文件、执行部署命令,以及后续的初始化和管理。 对于MariaDB,部署步骤包括安装软件包、初始化数据库、启动服务、安全设置和远程访问配置。集群部署方面,可能需要配置主从复制,涉及修改配置文件、创建复制用户、备份恢复数据等步骤。 在编写步骤时,需要注意命令的正确性,例如在CentOS中使用yum安装MariaDB,使用systemctl管理服务。同时,要提醒用户注意事项,比如TiDB的资源需求,MariaDB的版本兼容性,以及安全设置的重要性。 还需要考虑用户可能的错误操作,比如防火墙设置导致无法访问,权限配置不当等,所以在注意事项中要提到检查防火墙和SELinux,以及定期备份的重要性。 最后,总结部分需要对比两者的部署复杂度,帮助用户根据自身情况选择。例如,TiDB适合分布式场景,但部署较复杂;MariaDB简单适合单机或小型集群。 整个过程需要确保步骤清晰,语言简洁,避免技术术语过多,同时覆盖常见问题和注意事项,确保用户能够顺利部署。</think>以下是 **TiDB** 和 **MariaDB** 的详细部署步骤,涵盖单机测试与生产集群场景,帮助您快速搭建环境。 --- ### 一、TiDB 部署步骤 #### 1. 单机测试环境(All-in-One) **适用场景**:快速验证功能,开发调试。 **依赖工具**:TiUP(TiDB官方部署工具)。 ```bash # 步骤1:安装TiUP curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh source ~/.bashrc # 或重新登录终端 # 步骤2:启动单机集群(包含PD、TiKV、TiDB、监控组件) tiup playground v7.5.0 --db 1 --pd 1 --kv 1 --monitor # 步骤3:连接TiDB(默认端口4000) mysql -h 127.0.0.1 -P 4000 -u root ``` #### 2. 生产集群部署 **硬件要求**: - PD(元数据管理):至少3节点,推荐4核8GB - TiKV(存储节点):SSD硬盘,多节点(至少3台) - TiDB(计算节点):高CPU,2节点以上 **部署流程**: ```bash # 步骤1:初始化集群拓扑文件(tidb-topology.yaml) tiup cluster template > tidb-topology.yaml # 步骤2:编辑拓扑文件,定义节点IP和角色(示例如下) global: user: "tidb" ssh_port: 22 deploy_dir: "/tidb-deploy" data_dir: "/tidb-data" pd_servers: - host: 192.168.1.101 - host: 192.168.1.102 - host: 192.168.1.103 tidb_servers: - host: 192.168.1.201 - host: 192.168.1.202 tikv_servers: - host: 192.168.1.301 - host: 192.168.1.302 - host: 192.168.1.303 monitoring_servers: - host: 192.168.1.401 grafana_servers: - host: 192.168.1.401 # 步骤3:部署集群 tiup cluster deploy ruoyi-tidb v7.5.0 ./tidb-topology.yaml -y # 步骤4:启动集群 tiup cluster start ruoyi-tidb # 步骤5:验证集群状态 tiup cluster display ruoyi-tidb # 步骤6:初始化数据库(通过任意TiDB节点) mysql -h 192.168.1.201 -P 4000 -u root > SET PASSWORD = 'your_password'; > CREATE DATABASE ruoyi; ``` --- ### 二、MariaDB 部署步骤 #### 1. 单机部署(CentOS/RedHat) **适用场景**:中小型项目,快速启动。 ```bash # 步骤1:安装MariaDB sudo yum install -y mariadb-server mariadb # 步骤2:启动服务并设置开机自启 sudo systemctl start mariadb sudo systemctl enable mariadb # 步骤3:安全初始化(设置root密码、移除匿名用户等) sudo mysql_secure_installation # 步骤4:登录MariaDB mysql -u root -p # 步骤5:创建若依数据库 CREATE DATABASE ruoyi CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` #### 2. 主从复制集群(高可用) **场景**:读写分离、数据容灾。 **主库配置(192.168.1.100)**: ```bash # 编辑配置文件 /etc/my.cnf.d/server.cnf [mysqld] server-id=1 log-bin=mysql-bin binlog-format=row # 重启服务 sudo systemctl restart mariadb # 创建复制用户 mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'Repl_Password_123'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; ``` **从库配置(192.168.1.101)**: ```bash # 编辑配置文件 /etc/my.cnf.d/server.cnf [mysqld] server-id=2 # 重启服务 sudo systemctl restart mariadb # 配置主库连接 mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.100', MASTER_USER='repl', MASTER_PASSWORD='Repl_Password_123', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=328; # 启动复制 mysql> START SLAVE; # 检查状态(Slave_IO_Running和Slave_SQL_Running需为Yes) mysql> SHOW SLAVE STATUS\G ``` --- ### 三、关键注意事项 1. **TiDB**: - 生产环境需分离PD、TiKV、TiDB组件到不同物理节点。 - 使用`tiup cluster check`检查节点时钟同步与防火墙规则。 2. **MariaDB**: - 主从复制需确保主库`server-id`唯一,从库数据通过备份恢复同步。 - 若依系统若使用MyISAM表,需转换为InnoDB(MariaDB 10.2+默认支持)。 3. **通用建议**: - 部署后立即配置备份(如TiDB的**BR工具**、MariaDB的**mariabackup**)。 - 开放3306(MariaDB)或4000(TiDB)端口前,需设置强密码和IP白名单。 --- ### 四、总结 - **TiDB**:适合分布式、高并发场景,部署复杂度较高,但扩展性强。 - **MariaDB**:适合轻量级应用,单机部署简单,主从复制提升可用性。 建议根据业务规模选择方案,测试环境优先验证兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值