MySQL 数据库管理工具用惯了?切金仓数据库,这篇帮你把家伙事儿配齐

前言

咱们换个方式开头,不讲概念,直接还原一个场景。
你天天用 MySQL,是怎么干活的?我猜八九不离十:要改表,Navicat 打开,点两下完事。要看慢 SQL,命令行登上去敲个 show processlist,扫一眼心里就有数了。备份?mysqldump 一条命令,等着收文件就行。
这套流程干上几年,真的会长在手上,形成肌肉记忆。

坏消息是,某天公司拍板要换金仓数据库,这套肌肉记忆瞬间作废。

很多人这时候慌的不是 SQL 语法------语法嘛,查查就会了。慌的是工具:我这一屋子家伙事儿,还能用吗?总不至于让我拿记事本连数据库吧?

答案揭晓:MySQL 那套确实用不上了。但金仓自己有一整套工具链,而且每个位置都能跟 MySQL 生态对上号。这篇文章就干一件事,把这套新家伙事儿给你配齐。哪个工具顶哪个岗,命令怎么敲,日常活儿怎么干,全部对着你已有的 MySQL 习惯来讲。

一、先把工具认全:一张对照表心里有底

工具先认一遍,命令往后放。

下面这张表,左边是你的老伙计,右边是金仓派来接班的。对着扫一遍,心里大概就有底了:

MySQL 那边的 主要干什么 金仓这边对应
mysql 命令行客户端 登库、跑 SQL、日常操作 ksql
Workbench / Navicat 图形化管理、建对象、改数据 KStudio
mysqldump 逻辑备份 sys_dump(图形方式走 KStudio)
xtrabackup 物理备份 sys_backup.sh(V8R6 自带)
binlog + 主从复制 数据同步、追增量 KFS(KingbaseFlySync)
Workbench 迁移向导 搬库搬表 KDTS
慢查询分析类工具 慢 SQL 排查 KStudio 性能监控 + 数据库日志

把这表从头到尾拉通看一遍,感受跟我当年差不多:哦,原来不是从零开始学,顶多算换个键盘布局。下面挨个过。

二、ksql:命令行瘾君子的老朋友

对命令行有感情的同学有福了,金仓这边接棒的是 ksql,mysql 客户端那份手感基本能续上。登录姿势:

bash 复制代码
ksql -h 192.168.1.10 -p 54321 -U system -d mydb

两个地方容易记混,提前打个招呼:默认端口是 54321,不是 3306;默认管理员账号叫 system,位置对标 root------权限同样别拿来日常用,建个业务账号干活才是好习惯。

进去之后最容易懵的,是那堆反斜杠命令。别硬背,对着 MySQL 的习惯记,一秒就懂:

sql 复制代码
-- 列出所有数据库        对标 show databases
\l

-- 切换数据库            对标 use mydb
\c mydb

-- 列出当前库的表        对标 show tables
\dt

-- 看表结构              对标 desc orders
\d orders

-- 执行脚本文件          对标 source /tmp/init.sql
\i /tmp/init.sql

-- 显示每条 SQL 的耗时   调优时开它,谁慢谁快一目了然
\timing on

-- 结果竖排显示          宽表在屏幕上摆不下?切这个
\x

头几天肯定别扭,谁用谁知道。但一周之后你会发现,\d 表名 给的东西比 desc 全多了------索引、约束、触发器,一屏全带出来。到那时候,你反而回不去了。

三、KStudio:图形界面里的主力干将

改表、导数、看锁这类活儿,说实话还是图形界面香。金仓这边管这块的工具叫 KStudio。装好、连上库,左边对象树一展开,库、模式、表、视图、用户,全都挂在那儿,操作路数跟 Navicat 差别不大,基本不用专门学。

几个天天会用到的点,挨个说。

最常干的就是改表。对象树里找到那张表,右键,加字段、改类型、调默认值,完事保存。想看这张表当初是怎么建的?也是右键,DDL 直接给你------show create table 那点念想,在这儿有着落。

然后是一个我特别喜欢的小功能:查询结果集可以直接编辑。双击单元格,改,提交,收工。就说临时修两行数据这种事,谁还乐意手敲 UPDATE 语句呢。

导数有现成的向导。CSV、Excel,都认。以前在 MySQL 那边用导出向导或者 LOAD DATA 干的活,搬过来接着干就行。

备份也在界面上。不想记命令的,在这儿点一点,定时任务都能给你配上。

最后说个很多人装完都没注意到的:性能监控。点开是实时仪表盘,QPS、连接数、TOP SQL,曲线都是活的。锁的排查也做进去了,哪条会话堵着哪条、堵了多久,界面上直接看。搁以前,这种信息得自己拼 SQL 去查,现在就是点两下的事。

四、高频运维操作:MySQL 写法 vs 金仓写法

接下来这节最实用,建议直接抄走。想干什么、MySQL 里怎么写、金仓这边怎么写,一张表全对齐:

想干什么 MySQL 写法 金仓写法
看库列表 show databases \l
切库 use mydb \c mydb
看表列表 show tables \dt
看表结构 desc orders \d orders
看活跃会话 show processlist 查 sys_stat_activity
杀会话 kill 12345 select sys_terminate_backend(12345);
看建表语句 show create table KStudio 右键查看 DDL

表里有个东西我想拎出来多讲两句:会话管理。为啥单说它?因为真出事的时候------库卡死了、连接堆满了------你第一个要用的就是它。

sql 复制代码
-- 谁在干活?对标 show processlist
select pid, usename, client_addr, state,
       query_start, left(query, 60) as sql_head
  from sys_stat_activity
 where state <> 'idle'
 order by query_start;

-- 踢人,对标 kill 12345
select sys_terminate_backend(12345);

-- 只掐 SQL 不掐连接,这个档位 MySQL 没有
select sys_cancel_backend(12345);

代码里那行 sys_cancel_backend(12345),各位重点看一眼。MySQL 过来的同学十有八九不知道还有这么个档位:kill 是把会话连人带连接一块送走,连接池那边立马报错;sys_cancel_backend 只掐正在跑的那条 SQL,连接还给你留着。能不断连接就不断,温柔,但解决问题。

建账号授权也是头一天就要干的活:

sql 复制代码
-- 建业务账号(对标 create user)
create user app_rw with password 'App#2026';

-- 给库的连接权限
grant connect on database mydb to app_rw;

-- 给 public 模式下所有表的增删改查
grant select, insert, update, delete
  on all tables in schema public to app_rw;

跟 MySQL 的 grant 长得不太一样,头回写会觉得别扭,但语义都对得上,写两回就顺了。

五、备份这一下怎么打

mysqldump 的手感是什么?一条命令,出一个 SQL 文件,齐活。金仓这边干这活的是 sys_dump,路数几乎一样:

bash 复制代码
# 逻辑备份整个库(对标 mysqldump mydb > mydb.sql)
sys_dump -h 127.0.0.1 -p 54321 -U system -d mydb -f /backup/mydb_$(date +%F).sql

恢复就是把这份文件喂回 ksql 跑一遍,跟 mysql 客户端导 dump 文件一个思路。参数细节以你手上那版的文档为准,不同小版本略有出入,别照抄我这份就直接上生产。

要求更高的场景------整体冷备、要按时间点恢复的那种------上 V8R6 自带的 sys_backup.sh 走物理备份,背后是全量加归档那一套,MySQL 那边对标 xtrabackup 加 binlog。嫌命令行麻烦的,KStudio 里点点点也能配定时任务,前面说过了。

六、源头是 MySQL 的话,再送你两句话

如果这次换库的源头正好就是 MySQL,再多送你两句话,都是用来少走弯路的。

一个跟兼容模式有关。金仓实例初始化的时候,可以直接选 MySQL 兼容模式,常用语法、类型、函数的行为都往 MySQL 习惯靠,应用改造量能省一大截。但丑话说在前面:兼容不等于一模一样,个别函数、个别类型的边角行为还是有出入。上线前拿真实业务 SQL 回归一遍,这步千万别省------省下来的功夫,上线后会加倍还回去。

另一个是搬数据。别自己吭哧吭哧写脚本,KDTS 图形界面点选,MySQL 的表结构、约束、数据整建制迁过来;要不停机切换的,再上 KFS 盯 binlog 做增量追平。这套存量加增量的打法,我之前写 Oracle 迁移时详细拆过,思路完全通用,想深挖可以翻那篇。

写在最后

最后说句实在的。

换库最虚的阶段,从来不是学新东西,而是老工具突然全废的那几天------干个啥都要现查,效率直接腰斩。这篇对着 MySQL 的习惯,把金仓的工具链捋了一遍:ksql 顶 mysql,KStudio 顶 Navicat,sys_dump 顶 mysqldump,搬库找 KDTS 和 KFS。

存下来当速查表吧。前两周照着干,之后就全是肌肉记忆了。祝切换顺利,工具趁手。

相关推荐
这个DBA有点耶1 小时前
从异步复制到MGR:MySQL复制机制的三层演进与选型框架
数据库·mysql·代码规范
SelectDB1 小时前
把 JSON 埋点表迁到 Apache Doris VARIANT:一次完整排错记录
大数据·数据库·数据分析
小林ixn1 小时前
用 SQLite + 大模型做一个 Text2SQL 小助手:从建表到自然语言查询的完整实战
数据库·sqlite
鸽芷咕1 小时前
业务不停机!Oracle 在线迁移 KingbaseES 方案详解:KDTS 存量搬迁 + KFS 增量追平
数据库
旺仔不是程序员1 小时前
pg_trgm GIN 索引:PostgreSQL 正则、模糊与近似度查询的三合一加速器
数据库·后端·sql
SelectDB1 小时前
联邦查询慢到不能用?查湖排错的 6 个现场,附可直接复制的命令片段
大数据·数据库·数据分析
SelectDB1 小时前
Apache Doris 高性能 Open Lake Variant 读写技术解析(含对比数据)
大数据·数据库·数据分析
SelectDB1 小时前
多表 Join 与实时更新:Apache Doris 建表、调优与验证全流程(附 ClickHouse 对照)
大数据·数据库·数据分析
小鱼,1 小时前
人大金仓V9系统表名字冲突,设置search_path不起作用
数据库·kingbase