O Lindorm-cqlsh é uma ferramenta de shell fornecida pela equipe Lindorm. Trata-se de uma versão modificada do Cassandra cqlsh, disponível para Windows e sistemas operacionais do tipo Unix. Instale o Lindorm-cqlsh em uma máquina local ou em uma instância ECS para acessar o LindormTable.
Pré-requisitos
Adicione o endereço IP do cliente à lista de permissões da sua instância Lindorm.
-
[KV化][2026-02-10] 原界面词"CQL连接"(uicontrol)替换为美杜莎conref引用
Obtenha o endereço de CQL Connection do mecanismo LindormTable no Lindorm. Para mais informações, consulte Visualizar strings de conexão. Na página Instance Details do console Lindorm, selecione a aba LindormTable, expanda a seção Cassandra-compatible Addresses e obtenha o endereço de conexão VPC ou de rede pública para a CQL connection. O nome de usuário e a senha padrão são ambos
root. -
Baixe e extraia o Lindorm-cqlsh.
Se sua aplicação estiver implantada em uma instância ECS, garanta que a instância Lindorm e a instância ECS atendam às seguintes condições para assegurar a conectividade de rede. Para mais informações sobre como visualizar dados da instância ECS, consulte Visualizar informações da instância.
A instância Lindorm e a instância ECS devem estar implantadas na mesma região. Recomendamos implantar ambas na mesma zona para reduzir a latência de rede.
O tipo de rede da instância Lindorm deve ser igual ao da instância ECS.
Comandos comuns
Após conectar ao LindormTable usando o Lindorm-cqlsh, execute os seguintes comandos:
Documented shell commands:===========================
CAPTURE COPY DESCRIBE LOGIN DESC EXIT HELP PAGING SHOW
CQL help topics:================
CREATE_KEYSPACE TEXT ALTER_KEYSPACE TIME CREATE_ROLE
DROP_USER TIMESTAMP ALTER_TABLE CREATE_TABLE
GRANT ALTER_USER INSERT UPDATE
CREATE_USER INSERT_JSON USE ASCII
DATE INT UUID BATCH
DELETE JSON BEGIN KEYWORDS
BLOB DROP_COLUMNFAMILY LIST_PERMISSIONSBOOLEAN LIST_ROLES
COUNTER DROP_INDEX LIST_USERS DROP_KEYSPACE
PERMISSIONS CREATE_COLUMNFAMILY REVOKE DROP_ROLE
SELECT CREATE_INDEX DROP_TABLE SELECT_JSON
Procedimento
-
Execute o comando abaixo para conectar ao Lindorm.
bin/cqlsh <host> <port> -u <username> -p <password>NotaRecomendamos definir a versão do Python no caminho onde bin/cqlsh está localizado como 2.7.x.
-
[KV化][2026-02-10] 原界面词"CQL连接"(uicontrol)替换为美杜莎conref引用
<host>: Endereço de CQL Connection do LindormTable, obtido no console Lindorm. Exemplo:
ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com. -
[KV化][2026-02-10] 原界面词"CQL连接"(uicontrol)替换为美杜莎conref引用
<port>: Número da porta Lindorm LindormTable CQL Connection. O valor padrão é 9042.
<username>: Nome de usuário para conexão ao LindormTable. Valor padrão: root.
<password>: Senha do nome de usuário especificado. Caso tenha esquecido a senha, redefina-a pelo sistema de gerenciamento de cluster.
O Lindorm oferece suporte a diversos comandos de acesso via Lindorm-cqlsh. Para mais detalhes, execute o comando
bin/cqlsh -help.
-
Crie um keyspace com o Lindorm-cqlsh. O conceito de keyspace no Lindorm assemelha-se ao de banco de dados em sistemas relacionais e pode conter uma ou mais tabelas ou famílias de colunas.
CREATE KEYSPACE test_keyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};Após criar o keyspace, execute o comando a seguir para consultá-lo:
DESCRIBE KEYSPACE test_keyspace; -
Use o comando USE para alternar para o keyspace desejado.
USE test_keyspace;A seguinte informação será retornada:
cqlsh:test_keyspace> -
Depois de se conectar ao LindormTable via Lindorm-cqlsh, execute os comandos suportados conforme suas necessidades de negócio. Os exemplos abaixo demonstram o uso de comandos comuns:
-
Crie uma tabela chamada test_user usando o Lindorm-cqlsh. Ela possui duas colunas do tipo TEXT: first_name e last_name, sendo first_name a chave primária.
CREATE TABLE test_user(first_name text, last_name text, PRIMARY KEY (first_name));NotaCaso não tenha executado o comando
USE test_keyspace;antes de criar a tabela, use o comando abaixo para criá-la.CREATE TABLE test_keyspace.test_user(first_name text, last_name text, PRIMARY KEY (first_name)); -
Consulte as informações da tabela test_user.
DESCRIBE TABLE test_user;As seguintes informações serão retornadas:
CREATE TABLE test_keyspace.test_user ( first_name text PRIMARY KEY, last_name text ) WITH bloom_filter_fp_chance = 0.01 AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'} AND comment = '' AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'} AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'} AND crc_check_chance = 1.0 AND dclocal_read_repair_chance = 0.1 AND default_time_to_live = 0 AND gc_grace_seconds = 864000 AND max_index_interval = 2048 AND memtable_flush_period_in_ms = 0 AND min_index_interval = 128 AND read_repair_chance = 0.0 AND speculative_retry = '99PERCENTILE';NotaExecute a instrução DESCRIBE TABLE para visualizar o comando usado na criação da tabela. O retorno exibe configurações personalizadas e padrões de forma formatada. O Lindorm não é totalmente compatível com todos os atributos de tabela do Cassandra. Se um atributo não for suportado, o sistema ainda assim o retornará com o valor padrão do Cassandra.
Os seguintes atributos de tabela não têm significado prático para tabelas do Lindorm:
crc_check_chance, gc_grace_seconds, read_repair_chance, speculative_retry, dclocal_read_repair_chance.Estes atributos são totalmente compatíveis:
compression, default_time_to_live.
-
Insira dados na tabela test_user.
INSERT INTO test_user (first_name, last_name) VALUES ('test', 'LINDORM'); INSERT INTO test_user (first_name, last_name) VALUES ('Zhang', 'San'); INSERT INTO test_user (first_name) VALUES ('Wu'); -
Verifique se os dados foram inseridos corretamente. Evite executar o comando abaixo em cenários com grande volume de dados:
SELECT COUNT(*) FROM test_user;A seguinte informação será retornada:
count ------- 3 (1 rows)Para consultar os detalhes dos dados inseridos, execute:
SELECT * FROM test_user;A seguinte informação será retornada:
first_name | last_name ------------+----------- test | LINDORM Wu | null Zhang | San (3 rows) -
Exclua um valor da coluna last_name em uma linha específica e consulte essa linha.
DELETE last_name FROM test_user WHERE first_name='test'; SELECT * FROM test_user WHERE first_name='test';A seguinte informação será retornada:
first_name | last_name ------------+----------- test | null -
Remova os dados de uma linha específica e consulte-a novamente.
DELETE FROM test_user WHERE first_name='test'; SELECT * FROM test_user WHERE first_name='test';A seguinte informação será retornada:
first_name | last_name ------------+----------- (0 rows) -
Trunque ou exclua uma tabela. Somente superusuários podem executar os comandos
TRUNCATE, DROP TABLE e DROP KEYSPACE.TRUNCATE test_user; DROP TABLE test_user; -
Use um índice de pesquisa no Lindorm.
É possível criar um índice de pesquisa para uma tabela no LindormTable usando CQL. Antes disso, certifique-se de que as propriedades da tabela atendem aos requisitos necessários. Para mais informações sobre esses requisitos, envie um ticket.
CREATE TABLE test_keyspace.tb (cn1 text PRIMARY KEY, cn2 text, cn3 text) WITH extensions = {'CONSISTENCY_TYPE':'strong', 'MUTABILITY':'MUTABLE_LATEST'}; CREATE SEARCH INDEX tbidx ON test_keyspace.tb WITH COLUMNS (cn2, cn3); REBUILD SEARCH INDEX ON test_keyspace.tb ; INSERT INTO test_keyspace.tb (cn1, cn2, cn3) VALUES ('v11', 'v12', 'v13'); SELECT * FROM test_keyspace.tb WHERE cn2 like '%v1';NotaO código acima cria um índice chamado
tbidxpara a tabelatb, grava dados nela e realiza uma busca aproximada. -
Use um índice secundário no Lindorm.
Execute comandos CQL do Lindorm para criar um índice secundário em uma tabela wide no LindormTable. Antes da criação, verifique se os atributos da tabela atendem aos requisitos correspondentes. Para mais informações, consulte Índice secundário.
CREATE TABLE test_keyspace.tb (cn1 text PRIMARY KEY, cn2 text, cn3 text) WITH extensions = {'CONSISTENCY_TYPE':'strong', 'MUTABILITY':'MUTABLE_LATEST'}; CREATE INDEX tbidx ON test_keyspace.tb (cn2); INSERT INTO test_keyspace.tb (cn1, cn2, cn3) VALUES ('v11', 'v12', 'v13'); SELECT * FROM test_keyspace.tb WHERE cn2 = 'v12';
-