- What's New
- Function Overview
- Product Bulletin
- Service Overview
- Billing
- Getting Started
-
Kernel
- TaurusDB Kernel Version Release History
-
Common Kernel Functions
- Parallel Query
- Near Data Processing
- DDL Optimization
- Fast Binlog Positioning
- Backward Index Scan
- Statement Outline
- Idle Transaction Disconnection
- LIMIT...OFFSET Pushdown
- Conversion of IN Predicates Into Subqueries
- DISTINCT Optimization for Multi-Table Joins
- Diagnosis on Large Transactions
- Enhanced Partitioned Tables
- Hot Row Update
- Multi-tenancy
- Column Compression
- Table Recycle Bin
- Cold Data Preloading for Read Replicas
- Self-Healing of Read Replicas upon a Replication Latency
-
User Guide
- Permissions Management
- Buying a DB Instance
- Connecting to a DB Instance
- Database Usage
- Data Migration
-
Instance Management
- Viewing the Overall Status of DB Instances
- Viewing Metrics
- Instance Lifecycle Management
-
Configuration Changes
- Changing the vCPUs and Memory of a DB Instance or Node
- Changing the Storage Space of a DB Instance
- Configuring Auto Scaling Policies for a DB Instance
- Changing the Maintenance Window of a DB Instance
- Customizing Displayed Items of the Instance List
- Upgrading the Minor Kernel Version of a DB Instance
- Updating the OS of a DB Instance
- Data Backups
- Data Restorations
- Serverless Instances
- Multi-primary Instances (OBT)
- Read Replicas
-
Database Proxy (Read/Write Splitting)
- What Is Database Proxy?
- Creating a Proxy Instance for Read/Write Splitting
-
Changing Configurations of a Proxy Instance
- Changing the Consistency Level of a Proxy Instance
- Enabling the Connection Pool for a Proxy Instance
- Enabling Transaction Splitting for a Proxy Instance
- Modifying the Routing Policy of a Proxy Instance
- Changing Read Weights of Nodes
- Changing the Multi-statement Processing Mode of a Proxy Instance
- Enabling Automatic Association of New Nodes with a Proxy Instance
- Enabling Access Control for a Proxy Instance
- Changing the Specifications of a Proxy Instance
- Changing the Number of Nodes for a Proxy Instance
- Applying for a Private Domain Name for a Proxy Instance
- Changing the Port of a Proxy Instance
- Changing the Proxy Address of a Proxy Instance
- Modifying Parameters of a Proxy Instance
- Binding an EIP to a Proxy Instance
- Proxy Instance Lifecycle
- Proxy Instance Kernel Versions
- Using Hints for Read/Write Splitting
- DBA Assistant
- Parameter Management
- Security and Encryption
- Cold and Hot Data Separation (OBT)
- Application Lossless and Transparent (ALT)
-
HTAP Analysis (Standard Edition)
- What Is HTAP of Standard Edition?
- Connecting to an HTAP Instance for Complex OLAP Queries
- Connecting to a Standard HTAP Instance
-
Standard HTAP Instance Management
- Rebooting a Standard HTAP Instance
- Rebooting a Node of a Standard HTAP Instance
- Changing Storage Space of a Standard HTAP Instance
- Adding Read Replicas to a Standard HTAP Instance
- Deleting a Standard HTAP Instance
- Adjusting Blacklisted or Whitelisted Tables of a Standard HTAP Instance and Repairing Tables
- Standard HTAP Account Management
- Viewing Metrics of a Standard HTAP Instance or Nodes
- Syntax and Data Type Mappings Between HTAP and TaurusDB Instances
- Performance Tuning
-
RegionlessDB Clusters (OBT)
- What Is a RegionlessDB Cluster?
- Using a RegionlessDB Cluster for Remote Multi-Active DR
- Using a RegionlessDB Cluster for Remote DR
- Performing a Primary/Standby Switchover or Failover in a RegionlessDB Cluster
- Removing a Standby Instance from a RegionlessDB Cluster
- Deleting a RegionlessDB Cluster
- Viewing the Replication Latency and Traffic of a RegionlessDB Cluster
- Monitoring and Alarms
- Logs and Auditing
- Task Center
- Tag Management
- Quota Management
- Best Practices
- Performance White Paper
-
API Reference
- Before You Start
- API Overview
- Calling APIs
-
APIs (Recommended)
- DB Engine Version Queries
- Database Specification Queries
-
Instance Management
- Creating a DB Instance
- Rebooting a DB Instance
- Deleting/Unsubscribing from a DB Instance
- Creating a Read Replica
- Deleting or Unsubscribing from a Read Replica
- Scaling up Storage of a Yearly/Monthly DB Instance
- Changing a DB Instance Name
- Resetting a Database Password
- Changing DB Instance Specifications
- Querying Dedicated Resource Pools
- Querying Dedicated Resources
- Configuring the Monitoring By Seconds Function
- Querying the Configuration of Monitoring by Seconds
- Rebooting a Node
- Upgrading the Kernel Version of a DB Instance
- Enabling or Disabling SSL
- Binding an EIP
- Unbinding an EIP
- Promoting a Read Replica to Primary
- Changing a Maintenance Window
- Changing a Security Group
- Changing a Private IP Address
- Changing a Database Port
- Changing a DB Instance Description
- Applying for a Private Domain Name
- Changing a Private Domain Name
- Querying the Kernel Version
- Modifying Auto Scaling Policies
- Querying Auto Scaling Policies
- Pre-Checking Resources
- Querying DB instances
- Querying Details of a DB Instance
- Querying Details of DB Instances in Batches
- Modifying a Recycling Policy
- Querying a Recycling Policy
- Querying Instances in the Recycle Bin
- Changing Node Names in Batches
- Querying Historical Records of Auto Scaling
- Setting a Policy for a Serverless DB Instance
- Changing the Failover Priority of a Read Replica
- Querying an EIP
-
Backup Management
- Configuring a Same-Region Backup Policy
- Creating a Manual Backup
- Querying Full Backups
- Querying an Automated Backup Policy
- Deleting a Manual Backup
- Restoring Data to the Original Instance or an Existing Instance
- Querying the Restoration Time Range
- Enabling or Disabling Encrypted Backup
- Checking Whether Encrypted Backup Is Enabled
- Querying Incremental Backups
- Configuring a Cross-Region Backup Policy
- Restoring Tables to a Specified Point in Time
- Querying Tables for Table-level Point-in-Time Recovery
-
Parameter Template Management
- Querying Parameter Templates
- Creating a Parameter Template
- Deleting a Parameter Template
- Obtaining Details About a Parameter Template
- Modifying Parameters in a Parameter Template
- Applying a Parameter Template
- Replicating a Parameter Template
- Comparing Parameter Templates
- Querying Instances That a Parameter Template Can Be Applied To
- Viewing Parameter Change History
- Obtaining Parameter Information of a Specified DB Instance
- Modifying Parameters of a Specified DB Instance
- Replicating the Parameter Template of a DB Instance
- Querying Application Records of a Parameter Template
- Quota Management
-
Database Proxy
- Creating a Proxy Instance
- Deleting a Proxy Instance
- Querying Proxy Instances
- Querying Proxy Instance Specifications
- Adding Proxy Nodes
- Deleting Proxy Nodes
- Changing the Specifications of a Proxy Instance
- Assigning Read Weights
- Changing the Routing Policy of a Proxy Instance
- Enabling or Disabling Transaction Splitting for a Proxy Instance
- Enabling or Disabling Automatic Association of New Nodes with Proxy Instances
- Changing Session Consistency of a Proxy Instance
- Changing the Connection Pool Type of a Proxy Instance
- Changing the Port of a Proxy Instance
- Upgrading the Kernel Version of a Proxy Instance
- Modifying the Name of a Proxy Instance
- Querying Access Control Settings of a Proxy Instance
- Querying the Minor Version of a Proxy Instance
- Modifying Parameters of a Proxy Instance
- Querying Kernel Parameters of a Proxy Instance
- Enabling or Disabling Access Control
- Configuring Access Control Rules
- Enabling or Disabling SSL for a Proxy Instance
- Rebooting a Proxy Instance
-
Log Management
- Enabling or Disabling SQL Explorer
- Querying Whether SQL Explorer Is Enabled
- Querying Slow Query Logs
- Querying Error Logs
- Obtaining the Temporary Link for Downloading Full SQL
- Querying LTS Configurations of an Instance
- Deleting LTS Configurations in Batches
- Creating LTS Configurations in Batches
- Querying Whether Show Original Log Is Enabled
- Enabling or Disabling Show Original Log
- Querying Slow Query Log Statistics
- Obtaining Links for Downloading Slow Query Logs
- Tag Management
- Database User Management
- Database Management
- Traffic Management
- Task Center
- Intelligent Diagnosis
-
HTAP (Standard Edition)
- Restoring a Data Synchronization Task for a StarRocks Instance
- Stopping a Data Synchronization Task for a StarRocks Instance
- Checking Table Configurations for HTAP Data Synchronization
- Creating a StarRocks Instance
- Querying a StarRocks Instance
- Deleting a StarRocks Instance
- Rebooting a StarRocks Instance
- Rebooting a StarRocks Node
- Checking StarRocks Resources
- Querying HTAP Engine Resources
- Obtaining the Storage Type of an HTAP Instance
- Querying Specifications of an HTAP Instance
- Querying HTAP Instances
- Creating a Data Synchronization Task for a StarRocks Instance
- Deleting a Data Synchronization Task for a StarRocks Instance
- Querying Data Synchronization Tasks of a StarRocks Instance
- Checking Database Configurations for HTAP Data Synchronization
- Querying Configurations of a StarRocks Data Synchronization Task
- Querying Database Parameter Settings for StarRocks Data Synchronization
- Querying Databases of a StarRocks Instance
- Querying Database Accounts
- Creating a Database Account
- Deleting a Database Account
- Changing the Password of a Database Account
- Changing Permissions of a Database Account
- Changing the Specifications of a StarRocks Instance
- Querying Parameters
- Modifying Parameters
- Enabling Assign Requests to Row and Column Store Nodes for a StarRocks Instance
- Comparing Parameters
- Multi-tenancy
-
APIs (Unavailable Soon)
- DB Engine Version Queries
- Database Specification Queries
-
Instance Management
- Creating a DB Instance
- Querying DB Instances
- Querying DB Instances
- Deleting a DB Instance
- Querying Details of a DB Instance
- Querying Details of DB Instances in Batches
- Querying Details of a DB Instance
- Creating a Read Replica
- Deleting a Read Replica
- Scaling up Storage of a Yearly/Monthly DB Instance
- Changing a DB Instance Name
- Resetting a Database Password
- Modifying DB Instance Specifications
- Backup Management
- Parameter Template Management
- Quota Management
- Database Proxy
- Log Management
- Task Information Queries
- Permissions Policies and Supported Actions
- Appendix
- SDK Reference
-
FAQs
- Product Consulting
- Resource Freezing, Unfreezing, Release, Deletion, and Unsubscription
-
Database Connections
- What Should I Do If I Can't Connect to My TaurusDB Instance?
- What Should I Do If an ECS Can't Connect to a TaurusDB Instance?
- Can an External Server Access a TaurusDB Instance?
- What Is the Maximum Number of Connections to a TaurusDB Instance?
- What Do I Do If There Are Too Many Database Connections?
- Are There Any Risks If There Are Too Many Connections to a TaurusDB Instance?
- What Should I Do If the Network Connectivity Test Fails?
- Can I Access a TaurusDB Instance over an Intranet Connection Across Regions?
- How Do I Check the Connections to a TaurusDB Instance?
- How Do I Enable Availability Detection for a Connection Pool in the Service Code?
- Client Installation
- Database Migration
- Database Permissions
-
Database Performance
- What Should I Do If the CPU Usage of My TaurusDB Instance Is High?
- How Do I Handle Slow SQL Statements Caused by Inappropriate Composite Index Settings?
- How Do I Handle a Large Number of Temporary Tables Being Generated for Long Transactions and High Memory Usage?
- What Should I Do If Locks on Long Transactions Block the Execution of Subsequent Transactions?
- How Can I Use Temporary Disks of TaurusDB?
- What Is the CPU Usage of a TaurusDB Instance with Empty Load?
-
Database Usage
- Why Are the Results Inconsistent After the MATCH AGAINST Statement Is Executed, Respectively, on Primary Nods and Read Replicas?
- How Do I Add Columns Using INSTANT?
- How Do I Use LOAD DATA to Import Local Data?
- How Do I Write Data to or Create Indexes for an Ultra-large Table?
- What Are the Risks of Deleting an Index from an Ultra-large Table?
- Backups
-
Database Parameter Modification
- How Do I Change the Time Zone of a TaurusDB Instance?
- How Do I Configure a Password Expiration Policy for TaurusDB Instances?
- How Do I Ensure that the Database Character Set of a TaurusDB Instance Is Correct?
- How Do I Use the utf8mb4 Character Set to Store Emojis in a TaurusDB Instance?
- How Do I Set Case Sensitivity for TaurusDB Table Names?
- Can I Use SQL Commands to Modify Global Parameters of My TaurusDB Instance?
- Network Security
-
Log Management
- Can I Enable general_log for TaurusDB?
- How Do I View All SQL Statements Executed by TaurusDB?
- How Do I Enable and View Binlog of My TaurusDB Instance?
- How Do I Change the Binlog Retention Period?
- How Do I View Deadlock Logs of TaurusDB?
- Why Are Slow SQL Statements Displayed in Slow Query Log Monitoring, but No Information About Them Is Displayed on the Slow Query Logs Tab Page in the Logs Module?
- Version Upgrade
-
Troubleshooting
-
Backup and Restoration Issues
- Insufficient Permissions During Data Export Using mysqldump
- How Do I use mysqlbinlog to Obtain Binlog Files?
- Canal Fails to Parse Binlogs
- Precautions for Exporting Large Tables Through mysqldump
- Commands for Exporting Data Through mysqldump
- System Inaccessible After Field Addition to a Database Table
- SQL Statements Such as SET @@SESSION.SQL_LOG_BIN Displayed After You Run mysqldump
- Insufficient Privileges Reported for Canal
-
Connection Issues
- Login Failed After ssl_type of root Is Changed to ANY
- Failed to Connect to a DB Instance Using SSL
- Description of Each IP Address
- SSL Connection Failed Due to Inconsistent TLS Versions
- Error Message "connection established slowly"
- "Access denied" Displayed During Database Connection
- Failed to Connect to a Database Using mariadb-connector in SSL Mode
- Failed to Connect to a Database as User root
- Client Automatically Disconnected from a DB Instance
- Disconnection Occurs Every 45 Days Due to the istio-citadel Certificate Mechanism
-
SQL Issues
- Invalid TIMESTAMP Default Value during Table Creation
- Failed to Change the VARCHAR Length Due to the Index Length Limit
- Slow SQL Queries After a Large Amount of Data Is Deleted from a Large Table
- Error 1366 Reported When Data Containing Emojis Is Updated
- Slow Stored Procedure Execution Due to Inconsistent Collations
- ERROR [1412] Reported for a DB Instance
- Failed to Delete a Table with a Foreign Key
- Incorrect GROUP_CONCAT Results
- Error Message "Too many keys specified" Displayed When a Secondary Index Is Created
- DISTINCT and GROUP BY Optimization
- Equivalent Comparison Failures with Floating-Point Numbers
- A Large Number of SELECT Requests Routed to The Primary Instance After Database Proxy Is Enabled
- Tablespace Bloat
- ERROR 1396 Reported When a User Is Created
- Error Message Reported When alter table xxx discard/import tablespace Is Executed
- Native Error 1461 Reported by a DB Instance
- "Row size too large" Reported When a Table Failed to Be Created
- Duplicate Data Exists After ORDER BY LIMIT Is Executed
- Error Message Reported When select * from sys.innodb_lock_waits Is Executed
- Parameter-related Issues
-
Performance Issues
- High CPU Usage
- Out of Memory (OOM) Errors
- Tablespace Bloat
- Read Replica Uses Far More Storage Than the Primary Node
- Slow SQL Execution Due to Hot and Cold Data Problems
- Full Storage Caused by Complex Queries
- Slow Response Due to Deadlocks
- CPU Usage Increase
- CPU Resource Exhaustion Caused by Too Many Concurrent Slow Queries
-
Basic Issues
- How Do I View the Used Storage of My TaurusDB Instance?
- Renaming Databases and Tables
- Character Set and Collation Settings
- Auto-Increment Field Value Jump
- Starting Value and Increment of AUTO_INCREMENT
- Changing the AUTO_INCREMENT Value of a Table
- Failed to Insert Data Because Values for the Auto-increment Primary Key Field Reach the Upper Limit
- Auto-increment Field Values
- AUTO_INCREMENT Not Displayed in the Table Structure
- Impact of Creating an Empty Username
- No Scanned Rows Recorded in Slow Query Logs
- "handle_sync_msg_from_slave my_net_read error:-1" Displayed on the Error Logs Tab Page
- ERROR 1290 (HY000): The MySQL server is running with the --sql-replica-on option so it cannot execute this statement
-
Backup and Restoration Issues
- Videos
- General Reference
Show all
Copied.
Table Design
- All created MySQL tables must use the InnoDB engine.
- The decimal type must be DECIMAL. Do not use FLOAT or DOUBLE.
FLOAT and DOUBLE have lower precision than DECIMAL and may cause rounding errors. If a value to be stored is beyond the range of DECIMAL, split the value into INTEGER and DECIMAL parts and store them separately.
- The following reserved words cannot be used: DESC, RANGE, MATCH, and DELAYED.
For details about the keywords and reserved words of MySQL Community Edition 8.0, see Keywords and Reserved Words.
In addition to the keywords and reserved words of MySQL Community Edition 8.0, some other keywords and reserved words are added to TaurusDB. Do not use these keywords and reserved words when naming objects.
Table 1 lists the new keywords and reserved words in TaurusDB.Table 1 New keywords and reserved words in TaurusDB Reserved Word
Related Scenario
EXTRA_HEALTH
High availability
PBS
Backup and restoration
REDO
Primary/standby replication
SLICEID
Shared storage
SLOWIO
Shared storage
SPACEUSAGE
Shared storage
RDS_INSTANT
Recycle bin
RECYCLE_BIN
Recycle bin
RDS_RECYCLE
Recycle bin
RDS_TAC
Recycle bin
RDS_GDB_CTRL
RegionlessDB
- Every data table must have a primary key, which can be either an ordered and unique field related to business or an auto-increment field unrelated to business.
- Each table field must have a default value and NOT NULL. If the field is the numeric type, use 0 as its default value. If the field is the character type (such as VARCHAR), use an empty string (").
NOTE:
The absence of a primary key may cause slow execution of the primary database and replication latency.
- You are not advised to use partitioned tables. If necessary, use multiple independent tables.
NOTE:
Disadvantages of partitioned tables:
- All partitions will be locked during DDL operations. As a result, operations on the partitions will be blocked.
- When a partitioned table contains a large amount of data, it is difficult and risky to perform DDL or other O&M operations on the table.
- Partition tables are seldom used, which may cause unknown risks.
- When a single server is poor in performance, splitting a partitioned table is expensive.
- When all partitions are accessed due to improper operations on a partitioned table, severe performance problems may occur.
- Each table contains two DATETIME fields: CREATE_TIME and UPDATE_TIME.
NOTE:
You can obtain the required data from a data warehouse based on these two fields without consulting services.
When an exception occurs in the database, you can use the two fields to determine the time when the data is inserted and updated. In extreme cases, you can determine whether to restore data based on the fields.
- VARCHAR is a variable-length character data type. The length of VARCHAR cannot exceed 2,048.
If the length of a field exceeds 2,048, define the field type as TEXT or create an independent table and use a primary key to associate the related tables. In this way, the index efficiency of other fields is not affected.
- The length of a single row in a table cannot exceed 1,024 bytes.
- The maximum number of fields in a single table is 50.
- If the lengths of all strings are almost the same, use the fixed-length character strings.
- On the premise of ensuring data consistency, cross-table redundant fields are allowed to avoid join queries and improve query performance.
NOTE:
Redundant fields must comply with the following rules:
- Fields are not frequently modified.
- Fields are not large VARCHAR and TEXT.
- The data types with proper storage size can save database tablespace and index storage space while improving the search speed. LONG TEXT and BLOB are not recommended.
- Ensure that all characters are stored and represented in UTF-8 or utf8mb4 encoding. Comments must be provided for tables and fields.
- Avoid using large transactions.
For example, if multiple SELECT and UPDATE statements are executed in a high-frequency transaction, the database concurrency capability is severely affected because resources such as locks held by the transaction can be released only when the transaction is rolled back or committed. In this case, data write consistency must also be considered.
- Full-text indexes are not recommended because there are many limitations on them.
- For ultra-large tables, you also need to comply with the following rules:
- Use TINYINT, SMALLINT, and MEDIUM_INT as integer types instead of INT. If a value is non-negative, add UNSIGNED. Keep the field type as short as possible while meeting service evolution requirements.
- Configure the VARCHAR length as needed.
CREATE TABLE T1 (A VARCHAR(255));
After optimization:
CREATE TABLE T1 (A VARCHAR(Length that meets service requirements));
- Use enumerations or integers instead of strings.
- Use TIMESTAMP instead of DATETIME.
- Keep the number of fields in a single table below 20.
- Avoid using UNIQUE. Programs can enforce the constraints.
- Store IP addresses as integers.
- Partition fields with strong sequence and add range conditions during queries to improve efficiency.
- If there is obvious hot data and cold data, place the hot data in a separate partition.
- Use a proxy instance to connect to a database. In scenarios that do not require high consistency, distribute read requests to read replicas. If you have a high volume of queries, adding read replicas can help speed them up.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot