1. 硬件环境检查
在安装tdsql数据库之前,必须对服务器的硬件环境进行全面检查,确保满足tdsql 5.0的最低要求。更多学习教程www.fgedu.net.cn
# free -h
total used free shared buff/cache available
Mem: 64G 2.2G 60G 9.1M 1.8G 61G
Swap: 32G 0B 32G
# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 9.1M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sda1 50G 18G 33G 35% /
/dev/sdb1 500G 25G 475G 5% /data
# 检查CPU核心数
# nproc
32
# 检查系统架构
# uname -m
x86_64
2. 操作系统检查
tdsql 5.0支持Red Hat Enterprise Linux 7.0及以上版本。本文以RHEL 9.0为例。学习交流加群风哥微信: itpux-com
# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.0 (Plow)
# 检查内核版本
# uname -r
5.14.0-70.22.1.el9_0.x86_64
# 检查SELinux状态
# getenforce
Disabled
# 关闭SELinux(如未关闭)
# vi /etc/selinux/config
SELINUX=disabled
# 检查防火墙状态
# systemctl status firewalld
# 开放tdsql相关端口
# firewall-cmd –permanent –add-port=1433/tcp
# firewall-cmd –permanent –add-port=3306/tcp
# firewall-cmd –permanent –add-port=6379/tcp
# firewall-cmd –reload
3. 安装前准备
安装tdsql数据库前,需要进行一系列准备工作,包括创建用户、目录结构和配置系统参数。
# groupadd tdsql
# useradd -g tdsql tdsql
# passwd tdsql
Changing password for user tdsql.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
# 创建安装目录
# mkdir -p /data/tdsql
# mkdir -p /data/tdsql/data
# mkdir -p /backup/tdsql
# chown -R tdsql:tdsql /data/tdsql
# chown -R tdsql:tdsql /backup/tdsql
# chmod -R 755 /data/tdsql
# vi /etc/sysctl.conf
# 添加以下参数
fs.file-max = 6815744
net.core.somaxconn = 32768
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl = 30
vm.swappiness = 0
vm.overcommit_memory = 1
# 使参数生效
# sysctl -p
# vi /etc/security/limits.conf
# 添加以下内容
tdsql soft nproc 65535
tdsql hard nproc 65535
tdsql soft nofile 65535
tdsql hard nofile 65535
tdsql soft core unlimited
tdsql hard core unlimited
4. tdsql软件安装
tdsql 5.0软件安装使用官方提供的安装包进行部署。
# su – tdsql
# 上传安装包并解压
$ mkdir -p /tmp/tdsql
$ unzip TDSQL-5.0.0-Linux-x86_64.zip -d /tmp/tdsql
# 执行安装脚本
$ cd /tmp/tdsql
$ ./install.sh
# 安装过程交互
请输入安装目录 [/opt/tdsql]:/data/tdsql
请输入数据目录 [/data/tdsql/data]:/data/tdsql/data
请设置管理员密码:
请确认管理员密码:
请输入端口号 [1433]:1433
安装前小结
安装位置: /data/tdsql
数据目录: /data/tdsql/data
是否确认安装? (Y/y:是 N/n:否):Y
# /data/tdsql/install/script/root.sh
正在执行root.sh脚本…
创建TDSQL服务…
Created symlink /etc/systemd/system/multi-user.target.wants/TDSQL.service → /usr/lib/systemd/system/TDSQL.service.
启动TDSQL服务…
TDSQL服务启动成功
5. 数据库配置
安装完成后,需要创建和配置数据库实例。
# systemctl start TDSQL
# systemctl enable TDSQL
# 连接tdsql数据库
# sqlcmd -S localhost,1433 -U sa -P password
# 创建数据库
1> CREATE DATABASE fgedudb;
2> GO
# 创建用户并授权
1> CREATE LOGIN fgedu WITH PASSWORD = ‘password’;
2> USE fgedudb;
3> CREATE USER fgedu FOR LOGIN fgedu;
4> GRANT ALL PRIVILEGES TO fgedu;
5> GO
# vi /data/tdsql/conf/tdsql.conf
# 修改以下参数
[server]
max_connections = 1000
memory_limit = 32GB
[log]
slow_query_log = on
slow_query_threshold = 1000
# 重启tdsql服务
# systemctl restart TDSQL
6. 测试验证
数据库创建完成后,需要进行测试验证,确保数据库正常运行。学习交流加群风哥QQ113257174
# sqlcmd -S localhost,1433 -U fgedu -P password -d fgedudb
# 创建测试表
1> CREATE TABLE fgedu_employees (
2> emp_id INT PRIMARY KEY,
3> emp_name NVARCHAR(50),
4> salary DECIMAL(10,2),
5> hire_date DATE
6> );
7> GO
# 插入测试数据
1> INSERT INTO fgedu_employees VALUES (1, ‘张三’, 5000.00, GETDATE());
2> INSERT INTO fgedu_employees VALUES (2, ‘李四’, 6000.00, GETDATE());
3> GO
# 查询测试数据
1> SELECT * FROM fgedu_employees;
2> GO
emp_id emp_name salary hire_date
———– ————————————————– ——————— ———-
1 张三 5000.00 2026-03-31
2 李四 6000.00 2026-03-31
(2 rows affected)
7. 备份配置
为确保数据安全,需要配置数据库备份策略。
# vi /data/tdsql/scripts/full_backup.sh
#!/bin/bash
BACKUP_DIR=/backup/tdsql/full
DATE=$(date +%Y%m%d%H%M%S)
mkdir -p $BACKUP_DIR
# 执行全量备份
sqlcmd -S localhost,1433 -U sa -P password -Q “BACKUP DATABASE fgedudb TO DISK = ‘$BACKUP_DIR/fgedudb_full_$DATE.bak'”
# 赋予执行权限
# chmod +x /data/tdsql/scripts/full_backup.sh
# 配置定时任务
# crontab -e
# 添加每日凌晨2点执行全量备份
0 2 * * * /data/tdsql/scripts/full_backup.sh
8. 升级迁移
本节介绍tdsql数据库的升级和迁移方法。更多学习教程公众号风哥教程itpux_com
8.1 数据库升级
# systemctl stop TDSQL
# 备份当前数据库
# cp -r /data/tdsql/data /backup/tdsql/backup_before_upgrade
# 执行升级命令
$ /data/tdsql/install/script/upgrade.sh
# 启动tdsql服务
# systemctl start TDSQL
# 验证升级结果
# sqlcmd -S localhost,1433 -U sa -P password -Q “SELECT @@VERSION;”
————————————————————————————————————————————————————————————————————————————————————————————————————
TDSQL Server 5.0.0 (Build 1234) on Linux (x86_64)
(1 rows affected)
8.2 数据库迁移
# bcp fgedudb.dbo.fgedu_employees out /backup/tdsql/migration/fgedu_employees.bcp -S localhost,1433 -U sa -P password -n
# 将导出文件复制到目标服务器
# scp /backup/tdsql/migration/fgedu_employees.bcp tdsql@target_host:/backup/tdsql/migration/
# 在目标服务器执行导入
# bcp fgedudb.dbo.fgedu_employees in /backup/tdsql/migration/fgedu_employees.bcp -S localhost,1433 -U sa -P password -n
# 验证迁移结果
# sqlcmd -S localhost,1433 -U fgedu -P password -d fgedudb -Q “SELECT COUNT(*) FROM fgedu_employees;”
———–
2
(1 rows affected)
9. 性能优化
为提高tdsql数据库性能,需要进行一系列参数优化。
# vi /data/tdsql/conf/tdsql.conf
# 优化参数
[server]
max_connections = 1000
memory_limit = 32GB
query_cache_size = 1GB
[innodb]
innodb_buffer_pool_size = 16GB
innodb_log_file_size = 2GB
innodb_flush_log_at_trx_commit = 2
# 重启tdsql服务
# systemctl restart TDSQL
# sqlcmd -S localhost,1433 -U sa -P password -Q “SHOW VARIABLES LIKE ‘max_connections’;”
Variable_name Value
———————— ————–
max_connections 1000
(1 rows affected)
10. 故障排查
本节介绍tdsql数据库常见故障的排查方法。from:fengge
10.1 数据库无法启动
# cat /data/tdsql/log/tdsql.log
# 检查数据库服务状态
# systemctl status TDSQL
# 检查端口是否被占用
# netstat -tuln | grep 1433
10.2 连接失败
# ping localhost
# 检查防火墙设置
# firewall-cmd –list-ports
# 检查tdsql服务状态
# systemctl status TDSQL
10.3 性能问题
# top
# 查看慢查询
# sqlcmd -S localhost,1433 -U sa -P password -Q “SELECT * FROM sys.dm_exec_query_stats ORDER BY total_elapsed_time DESC;”
# 分析执行计划
# sqlcmd -S localhost,1433 -U fgedu -P password -d fgedudb
1> SET SHOWPLAN_XML ON;
2> GO
1> SELECT * FROM fgedu_employees WHERE salary > 5000;
2> GO
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
