Meet OceanBase AI Database, the unified database for operational data, real-time analytics, and AI. Explore ->

Meet OceanBase AI Database, the unified database for operational data, real-time analytics, and AI. Explore ->

OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

Product Overview
DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

Product Overview
DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Database Proxy

V4.3.1

  • What is ODP?
  • Installation and deployment
    • Deployment modes
    • Deploy ODP by using OCP
    • Overview
    • Deploy ODP by using the CLI
    • Deploy ODP by using obd
  • Basic operations
  • Configuration parameter
    • Parameter summary
    • View and modify parameters
    • Global parameters
      • cache_cleaner_clean_interval
      • check_tenant_locality_change
      • client_max_memory_size
      • client_sock_option_flag_out
      • client_tcp_user_timeout
      • cluster_count_high_water_mark
      • congestion_failure_threshold
      • default_inactivity_timeout
      • digest_sql_length
      • enable_async_log
      • enable_binlog_service
      • enable_cached_server
      • enable_flow_control
      • enable_global_ps_cache
      • enable_index_route
      • enable_prometheus
      • enable_qa_mode
      • enable_qos
      • enable_standby
      • enable_stat
      • enable_syslog_wf
      • sock_packet_mark_out
      • sql_table_cache_mem_limited
      • stack_size
      • syslog_level
      • work_thread_num
      • cache_cleaner_clean_interval
      • client_sock_option_flag_out
      • client_tcp_user_timeout
      • cluster_count_high_water_mark
      • congestion_failure_threshold
      • default_inactivity_timeout
      • digest_sql_length
      • enable_global_ps_cache
      • enable_qa_mode
      • enable_syslog_wf
      • flow_event_queue_threshold
      • hot_upgrade_failure_retries
      • hot_upgrade_rollback_timeout
      • ip_listen_mode
      • local_bound_ip
      • log_dir_size_threshold
      • monitor_stat_high_threshold
      • partition_location_expire_relative_time
      • protocol_diagnosis_level
      • proxy_hot_upgrade_check_interval
      • rpc_enable_retry_request_info_log
      • rpc_force_srv_black_list
      • server_detect_mode
      • sock_send_buffer_size_out
      • tunnel_request_size_threshold
      • username_separator
      • server_state_refresh_interval
      • enable_reroute
      • log_file_percentage
      • sequence_prefetch_threshold
      • sock_recv_buffer_size_out
      • enable_congestion
      • current_local_config_version
      • xflush_log_level
      • enable_sync_all_stats
      • monitor_stat_middle_threshold
      • enable_get_rslist_remote
      • delay_update_entry_interval
      • rpc_server_net_max_pending_request
      • enable_monitor_stat
      • enable_primary_zone
      • client_max_connections
      • rpc_support_key_partition_shard_request
      • qa_mode_mock_public_cloud_slb_addr
      • server_tcp_keepidle
      • listen_port
      • stat_table_sync_interval
      • enable_extra_prometheus_metric
      • max_log_file_size
      • rootservice_list
      • flow_low_water_mark
      • rpc_server_entry_expire_time
      • enable_connection_diagnosis
      • rpc_enable_global_index
      • enable_performance_mode
      • enable_partition_table_route
      • rpc_server_net_invalid_time_us
      • fetch_proxy_bin_timeout
      • enable_syslog_file_compress
      • rpc_server_net_handler_expire_time
      • server_detect_fail_threshold
      • need_convert_vip_to_tname
      • sequence_entry_expire_time
      • rpc_net_timeout_base
      • server_tcp_init_cwnd
      • sqlaudit_mem_limited
      • monitor_cost_ms_unit
      • enable_single_leader_node_routing
      • long_async_task_timeout
      • congestion_fail_window
      • mem_leak_check_mod_name
      • fetch_proxy_bin_random_time
      • enable_bad_route_reject
      • monitor_item_limit
      • enable_sequence_prefetch
      • client_session_id_version
      • enable_sharding
      • block_thread_num
      • rpc_max_server_table_entry_num
      • enable_pl_route
      • ldg_info_refresh_interval
      • routing_cache_mem_limited
      • sock_option_flag_out
      • server_tcp_keepintvl
      • proxy_mem_limited
      • monitor_item_max_idle_period
      • enable_transaction_internal_routing
      • task_thread_num
      • detect_server_timeout
      • syslog_io_bandwidth_limit
      • enable_cpu_topology
      • rpc_enable_direct_expire_route_entry
      • skip_proxy_sys_private_check
      • client_tcp_keepidle
      • client_tcp_keepintvl
      • rpc_max_request_batch_size
      • tenant_location_valid_time
      • enable_cpu_isolate
      • proxy_local_cmd
      • config_server_refresh_interval
      • rpc_enable_congestion
      • hot_upgrade_exit_timeout
      • sock_packet_tos_out
      • skip_proxyro_check
      • min_keep_congestion_interval
      • enable_xa_route
      • rpc_listen_port
      • connect_observer_max_retries
      • refresh_json_config
      • shard_scan_thread_num
      • net_accept_threads
      • rpc_enable_force_srv_black_list
      • server_tcp_user_timeout
      • enable_abort_conn_info
      • enable_full_username
      • enable_async_pull_location_cache
      • automatic_match_work_thread
      • enable_obproxy_rpc_service
      • ignore_local_config
      • short_async_task_timeout
      • request_buffer_length
      • monitor_log_level
      • cluster_expire_time
      • enable_trans_detail_stats
      • grpc_client_num
      • rpc_srv_session_pool_inactive_timeout
      • enable_strict_stat_time
      • enable_ob_protocol_v2_with_client
      • rpc_request_timeout
      • monitor_stat_low_threshold
      • qos_stat_clean_interval
      • proxy_info_check_interval
      • local_bound_ipv6_ip
      • rpc_period_task_interval
      • mem_leak_check_class_name
      • prometheus_sync_interval
      • server_tcp_keepcnt
      • monitor_stat_dump_interval
      • obproxy_config_server_url
      • enable_ob_protocol_v2
      • client_tcp_keepcnt
      • sql_table_cache_expire_relative_time
      • internal_cmd_mem_limited
      • enable_strict_kernel_release
      • server_detect_refresh_interval
      • prometheus_cost_ms_unit
      • enable_client_connection_lru_disconnect
      • enable_client_ip_checkout
      • enable_proxy_scramble
      • rpc_enable_reroute
      • enable_causal_order_read
      • refresh_rslist
      • max_syslog_file_count
      • rpc_max_response_batch_size
      • idc_list_refresh_interval
      • stat_dump_interval
      • min_congested_connect_timeout
      • log_cleanup_interval
      • delay_exit_time
      • enable_compression_protocol
      • rpc_enable_parallel_handler
      • enable_cluster_checkout
      • rpc_request_timeout_delta
      • flow_consumer_reenable_threshold
      • sequence_fail_retry_count
      • default_buffer_water_mark
      • slow_transaction_time_threshold
      • congestion_retry_interval
      • net_config_poll_timeout
      • enable_trace_stats
      • connection_diagnosis_option
      • enable_report_session_stats
      • obproxy_sys_password
      • slow_proxy_process_time_threshold
      • flow_high_water_mark
      • enable_full_link_trace
    • Multi-level parameters
      • obproxy_force_parallel_query_dop
      • proxy_primary_zone_name
      • enable_transaction_split
      • obproxy_read_consistency
      • read_stale_retry_interval
      • rootservice_cluster_name
      • proxy_route_policy
      • route_diagnosis_level
      • proxy_tenant_name
      • proxy_idc_name
      • binlog_service_ip
      • query_digest_time_threshold
      • enable_server_ssl
      • compression_algorithm
      • obproxy_read_only
      • enable_cloud_full_username
      • observer_query_timeout_delta
      • enable_weak_reroute
      • target_db_server
      • slow_query_time_threshold
      • observer_sys_password
      • mysql_version
      • ob_max_read_stale_time
      • ssl_attributes
      • enable_read_write_split
      • observer_sys_password1
      • enable_client_ssl
  • Connection management
    • Principles
    • Network connection
    • Client session
    • Session status synchronization
    • Configure a globally unique client session ID
    • Server session
  • Data routing
    • Automatic routing to the primary/standby tenants
    • Factors affecting data routing
    • Character set-based routing
    • ODP routing
    • Follower latency threshold
    • Read/Write separation
    • Function partition key routing
      • String functions
      • Numeric calculation functions
      • Overview
      • FAQ
      • Date calculation functions
    • Intra-tenant routing
      • IP address-based routing
      • Global index table-based routing for strong-consistency reads
      • Partitioned table-based routing for strong-consistency reads
      • Replicated table-based routing for strong-consistency reads
      • Strategy-based routing
      • Distributed transaction routing
      • Primary zone-based routing for strong-consistency reads
      • Forcible routing
      • Overview
      • Rerouting
  • Logs
    • obproxy.log
    • obproxy_stat.log
    • obproxy_error.log
    • obproxy_diagnosis.log
    • obproxy_digest.log
    • Overview
    • obproxy_slow.log
  • Commands
    • Overview
    • Dedicated ODP commands
      • KILL
      • ALTER
      • ping
      • SHOW
    • Compatible MySQL commands
      • SHOW RELAYLOG EVENTS
      • KILL
      • BINLOG
      • SHOW PROCESSLIST
      • SHOW SLAVE HOSTS
  • High availability mechanism
    • High availability testing
    • Overview
    • High availability of ODP services
    • High availability of OceanBase Database
  • Security and protocols
  • RPC service port
  • Operation and maintenance
    • Troubleshooting logic
    • Performance analysis
    • Show Trace
    • Routing diagnostics
      • Overview
      • Examples
      • Obtain diagnostic information
      • Diagnostic point troubleshooting
        • PARTITION_ENTRY_LOOKUP_DONE
        • PARTITION_ID_CALC_DONE
        • ROUTE_POLICY
        • HANDLE_RESPONSE
        • ROUTE_INFO
        • EXPR_PARSE
        • Overview
        • CONGESTION_CONTROL
        • RESOLVE_TOKEN
        • SQL_PARSE
        • FETCH_TABLE_RELATED_DATA
        • LOCATION_CACHE_LOOKUP
        • ROUTINE_ENTRY_LOOKUP_DONE
        • RESOLVE_EXPR
        • CALC_ROWID
        • CALC_PARTITION_ID
        • TABLE_ENTRY_LOOKUP_DONE
        • RETRY
    • Memory leak diagnostics
    • Connection diagnostics
  • Release Notes
    • Versioning rules
    • Enterprise Edition
      • V3.2
        • ODP Enterprise Edition V3.2.11
        • ODP Enterprise Edition V3.2.3.5
      • V4.3
        • ODP Enterprise Edition V4.3.1
        • ODP Enterprise Edition V4.3.0
      • V4.2
        • ODP Enterprise Edition V4.2.3
        • ODP Enterprise Edition V4.2.2
        • ODP Enterprise Edition V4.2.1
      • V4.0
        • ODP Enterprise Edition V4.0.0
      • V4.1
        • ODP Enterprise Edition V4.1.0
    • Community Edition
      • V4.2
        • ODP Community Edition V4.2.0
        • ODP Community Edition V4.2.1
        • ODP Community Edition V4.2.3
      • V4.3
        • ODP Community Edition V4.3.1
      • V4.0
        • ODP Community Edition V4.0.0
      • V4.1
        • ODP Community Edition V4.1.0

Download PDF

What is ODP? Deployment modes Deploy ODP by using OCP Overview Deploy ODP by using the CLI Deploy ODP by using obd Basic operations Parameter summary View and modify parameters cache_cleaner_clean_interval check_tenant_locality_change client_max_memory_size client_sock_option_flag_out client_tcp_user_timeout cluster_count_high_water_mark congestion_failure_threshold default_inactivity_timeout digest_sql_length enable_async_log enable_binlog_service enable_cached_server enable_flow_control enable_global_ps_cache enable_index_route enable_prometheus enable_qa_mode enable_qos enable_standby enable_stat enable_syslog_wf sock_packet_mark_out sql_table_cache_mem_limited stack_size syslog_level work_thread_num cache_cleaner_clean_interval client_sock_option_flag_out client_tcp_user_timeout cluster_count_high_water_mark congestion_failure_threshold default_inactivity_timeout digest_sql_length enable_global_ps_cache enable_qa_mode enable_syslog_wf flow_event_queue_threshold hot_upgrade_failure_retries hot_upgrade_rollback_timeout ip_listen_mode local_bound_ip log_dir_size_threshold monitor_stat_high_threshold partition_location_expire_relative_time protocol_diagnosis_level proxy_hot_upgrade_check_interval rpc_enable_retry_request_info_log rpc_force_srv_black_list server_detect_mode sock_send_buffer_size_out tunnel_request_size_threshold username_separator server_state_refresh_interval enable_reroute log_file_percentage sequence_prefetch_threshold sock_recv_buffer_size_out enable_congestion current_local_config_version xflush_log_level enable_sync_all_stats monitor_stat_middle_threshold enable_get_rslist_remote delay_update_entry_interval rpc_server_net_max_pending_request enable_monitor_stat enable_primary_zone client_max_connections rpc_support_key_partition_shard_request qa_mode_mock_public_cloud_slb_addr server_tcp_keepidle listen_port stat_table_sync_interval enable_extra_prometheus_metric max_log_file_size rootservice_list flow_low_water_mark rpc_server_entry_expire_time enable_connection_diagnosis rpc_enable_global_index enable_performance_mode enable_partition_table_route rpc_server_net_invalid_time_us fetch_proxy_bin_timeout enable_syslog_file_compress rpc_server_net_handler_expire_time server_detect_fail_threshold need_convert_vip_to_tname sequence_entry_expire_time rpc_net_timeout_base server_tcp_init_cwnd
OceanBase logo

The Unified Distributed Database for the AI Era.

Follow Us
Products
OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
Resources
DocsBlogWhite PaperLive DemosTraining & CertificationTicket
Company
About OceanBaseTrust CenterLegalPartnerContact Us
Follow Us

© OceanBase 2026. All rights reserved

Cloud Service AgreementPrivacy PolicySecurity
Contact Us
Document Feedback
  1. Documentation Center
  2. OceanBase Database Proxy
  3. V4.3.1
iconOceanBase Database Proxy
V 4.3.1
Databases
  • OceanBase Database
  • OceanBase Cloud
  • OceanBase Tugraph
  • Interactive Tutorials
  • OceanBase Best Practices
Tools
  • OceanBase Cloud Platform
  • OceanBase Migration Service
  • OceanBase Developer Center
  • OceanBase Migration Assessment
  • OceanBase Admin Tool
  • OceanBase Loader and Dumper
  • OceanBase Deployer
  • Kubernetes operator for OceanBase
  • OceanBase Diagnostic Tool
  • OceanBase Binlog Service
Connectors and Middleware
  • OceanBase Database Proxy
  • Embedded SQL in C for OceanBase
  • OceanBase Call Interface
  • OceanBase Connector/C
  • OceanBase Connector/J
  • OceanBase Connector/ODBC
  • OceanBase Connector/NET
  • V 4.3.6
  • V 4.3.4
  • V 4.3.3
  • V 4.3.2
  • V 4.3.1
  • V 4.3.0
  • V 4.2.3
  • V 4.2.2
  • V 4.2.0 and earlier

Deploy ODP by using the CLI

Last Updated:2026-04-14 09:41:35  Updated
Share
What is on this page
Prepare the environment
Install ODP
Initialize ODP
Start ODP
Procedure
OceanBase Database connection example
FAQ

folded

Share

OceanBase Database Proxy (ODP) can forward data access requests of users to correct OBServer nodes. The results are returned to the clients through ODP. This topic describes how to install ODP on the CLI by using the RPM package.

You can also deploy ODP in the following ways:

  • Deploy ODP by using OceanBase Cloud Platform (OCP). For more information, see Deploy ODP by using OCP.

  • Deploy ODP by using OceanBase Deployer (obd). For more information, see Deploy ODP by using obd.

Notice

  • After you deploy ODP on a server, ODP provides the proxy service of OceanBase Database by exposing a socket in the format of IP address:Port number. You can access OceanBase Database by using the socket in the same way you access MySQL databases. We recommend that you deploy ODP on an OBServer node.

  • We recommend that you deploy only one ODP on a server and use port 2883. If you deploy multiple ODPs on the same server, you need to specify different ports and configuration file paths for differentiation. You can set the port number to 3306, 1521, or other numbers.

  • The sample IP addresses in this topic are masked. You must specify the actual IP addresses of your servers.

Prepare the environment

  • Architecture: x86_64 or ARM.

  • Operating system: Linux Red Hat (x86_64) of version 5, 6, 7, or later.

  • CPU: ODP occupies about 70% of the resources of a CPU core during operation.

  • Memory: ODP occupies about 100 MB of memory during operation.

  • Disk space: The disk space is determined by your data size. We recommend that you use a disk that has 10 GB or more of space.

  • OceanBase cluster: For more information, see Overview.

Install ODP

  1. Run the following commands as the root user to grant or revoke the write privilege on the sudoers file:

    # Grant the write privilege on the sudoers file.
    chmod u+w /etc/sudoers
    echo 'admin ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
    
    # Revoke the write privilege on the sudoers file.
    chmod u-w /etc/sudoers
    
  2. Run the following commands to install the RPM package of ODP:

    -bash-4.2$ cd $rpm_dir
    -bash-4.2$ sudo rpm -ivh $rpm_name
    

    Here, $rpm_dir specifies the directory in which the RPM package is stored, and $rpm_name specifies the name of the RPM package.

    Note

    • You can contact OceanBase Technical Support to obtain the latest ODP RPM package, or go to the OceanBase Download Center to search for OceanBase Database Proxy and download the corresponding ODP RPM package based on your requirements.

    • The default installation directory is /opt/taobao/install for ODP Enterprise Edition and /home/admin for ODP Community Edition.

    Here is an example:

    -bash-4.2$ sudo rpm -ivh obproxy-4.0.0-20221103165243.el7.x86_64.rpm
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:obproxy-4.0.0-20221103165243.el7 ################################# [100%]
    
  3. (Optional) Create soft links to ODP.

    A soft link to ODP can hide the version information, facilitating subsequent operations.

    The installation directory of ODP is /opt/taobao/install. The home directory of the ODP process is /opt/taobao/install/obproxy, which is a soft link that points to the directory of ODP of the corresponding version.

    -bash-4.2$ cd /opt/taobao/install
    -bash-4.2$ sudo ln -s obproxy-4.0.0 obproxy
    -bash-4.2$ ll
    total 8
    drwxr-xr-x 9 root  root  4096 Sep 26 15:24 ajdk-8.3.6-b129
    lrwxrwxrwx 1 root  root    13 Nov 14 12:03 obproxy -> obproxy-4.0.0
    drwxr-xr-x 4 admin admin 4096 Nov 14 11:59 obproxy-4.0.0
    
    # Change the owner and group of the ODP process to admin.
    -bash-4.2$ sudo chown -R admin:admin obproxy
    -bash-4.2$ ll
    total 8
    drwxr-xr-x 9 root  root  4096 Sep 26 15:24 ajdk-8.3.6-b129
    lrwxrwxrwx 1 admin admin   13 Nov 14 12:03 obproxy -> obproxy-4.0.0
    drwxr-xr-x 4 admin admin 4096 Nov 14 11:59 obproxy-4.0.0
    

Initialize ODP

ODP needs to communicate with the backend OBServer node. Therefore, you must create the proxyro user and specify the password for ODP in the sys tenant of the OceanBase cluster. If you start ODP later, you can specify the username and password of the proxyro user in the startup parameters.

Note

ODP uses the proxyro user to access the OceanBase cluster. One proxyro user can be used for accessing one OceanBase cluster.

To check whether a proxyro user exists in the cluster, perform the following steps:

  1. Log in to the cluster by creating an IP address-based direct connection.

    obclient -h10.10.10.1 -uroot@sys -P2881 -p -c
    
  2. Run the following command to query the users in the sys tenant:

    obclient> select user,password from mysql.user;
    

    If the output shows that a proxyro user already exists, you can directly start ODP. If the output shows that no proxyro user exists, run the command to create one.

  3. Create a proxyro user.

    Here is an example:

    obclient> CREATE USER proxyro IDENTIFIED BY '******';
    Query OK, 0 rows affected
    
    obclient> GRANT SELECT ON *.* TO proxyro;
    Query OK, 0 rows affected
    
    obclient> SHOW GRANTS FOR proxyro;
    +----------------------------------+
    | Grants for proxyro@%             |
    +----------------------------------+
    | GRANT SELECT ON *.* TO 'proxyro' |
    +----------------------------------+
    1 row in set
    

Start ODP

You can use either of the following methods to start an ODP process:

  • Specify the -r parameter in the process startup command to query the RootServer information of the OceanBase cluster.

    This method does not require other configurations and is usually used in the development and debugging phase. If the RootService list in the OceanBase cluster changes after you start ODP by using this method, you need to manually modify the setting of the rootservice_list parameter and restart ODP for the change to take effect.

  • Specify the obproxy_config_server_url parameter in the process startup command to query the RootServer information of the OceanBase cluster.

    This method requires the obproxy_config_server_url parameter, thus relying on the startup of the config server. We recommend that you use this method to start an ODP.

Notice

To start the ODP, log in as the admin user and run the startup command in the home directory of the ODP software. The ODP startup fails if you log in as other users or run the startup command in other directories.

Procedure

  1. Log in as the admin user to the server that hosts the ODP to be started.

  2. Run the following command in the directory where the ODP is installed to start the ODP.

    Note

    Before you start the ODP, you can run the ./bin/obproxy -h command to query the startup parameters of the ODP.

    1. Method 1: Run the following command to specify the -r option in the startup command:

      ./bin/obproxy -p <obproxy_port> -s <rpc_port> -r <'ip:port'> -n <appname> -o -c <cluster_name>
      

      The parameters are described as follows:

      • -p: specifies the port number listened to by ODP. The MySQL client uses this port to access OceanBase Database. The parameter is required at initial startup. You do not need to specify this parameter in subsequent startups or upgrades.

      • -s: specifies the remote procedure call (RPC) service listening port.

      • -r: specifies the IP address and port number of the RootServer in the specified OceanBase cluster. The port is the SQL port of the OBServer node, not the RPC port.

      • -n: specifies the application name of the ODP to be started. This parameter is optional.

        You can use the app_name parameter to change the application name of the ODP. The default value is undefined.

      • -o: specifies the hardware or kernel parameter settings. If you do not specify this parameter, the default system settings are used.

      • -c: specifies the OceanBase cluster.

      Here is an example:

      [admin@001 obproxy]$ ./bin/obproxy -p 2883 -s 2885 -r'10.10.10.1:2881;10.10.10.2:2881;10.10.10.3:2881' -o observer_sys_password=$sha1_value,obproxy_sys_password=$sha1_value,enable_cluster_checkout=false,proxy_id=1,client_session_id_version=2 -n test -c mycluster
      

      Notice

      • observer_sys_password must be the password of the proxyro user of OceanBase Database. obproxy_sys_password is the password of the root@proxysys account for logging in to the ODP.

      • Replace the password in $sha1_value with the actual password. The password is an SHA1-hashed value rather than the original value. For example, if the password of the proxyro user is 123456, the observer_sys_password parameter must be set to 7c4a8d09ca3762af61e59520943dc26494f8941b.

      • In this example, proxy_id is set to 1. You can set proxy_id to any value within the range 0 to 8191, except 2. Make sure that the specified value is not duplicate with that of other ODPs. For more information, see proxy_id.

    2. Method 2: Run the following command to specify the obproxy_config_server_url parameter in the startup command:

      ./bin/obproxy -p <obproxy_port> -s <rpc_port> -n <appname> -o obproxy_config_server_url='your_config_url'
      

      The parameters are described as follows:

      • -p: specifies the port number listened to by the ODP. The MySQL client uses this port to access OceanBase Database. The parameter is required at initial startup. You do not need to specify this parameter in subsequent startups or upgrades.

      • -s: specifies the RPC service listening port.

      • -n: specifies the application name.

        You can use the app_name parameter to change the application name of the ODP. The default value is undefined.

      • -o: specifies the hardware or kernel parameter settings. If you do not specify this parameter, the default system settings are used.

      • obproxy_config_server_url: specifies the URL of the config server.

      Here is an example:

      [admin@001 obproxy]$ ./bin/obproxy -p 2883 -s 2885 -n test -o obproxy_config_server_url='http://xx.xx.xx.xx:8877/obproxy_config',observer_sys_password=$sha1_value,obproxy_sys_password=$sha1_value,proxy_id=1,client_session_id_version=2
      

      Notice

      • observer_sys_password must be the password of the proxyro user of OceanBase Database. obproxy_sys_password is the password of the root@proxysys account for logging in to the ODP.

      • Replace the password in $sha1_value with the actual password. The password is an SHA1-hashed value rather than the original value. For example, if the password of the proxyro user is 123456, the observer_sys_password parameter must be set to 7c4a8d09ca3762af61e59520943dc26494f8941b.

      • In this example, proxy_id is set to 1. You can set proxy_id to any value within the range 0 to 8191, except 2. Make sure that the specified value is not duplicate with that of other ODPs. For more information, see proxy_id.

  3. Run the following command to check whether the ODP process exists:

    [admin@001 ~]$ ps -ef | grep obproxy
    

Note

The operation logs of ODP are stored in /opt/taobao/install/obproxy/log, namely, /home/admin/logs/obproxy/log.

OceanBase Database connection example

When you connect to OceanBase Database through ODP, you must combine the cluster name, instance name, and username. Four formats are supported and the first two are commonly used.

  • User_name@Tenant_name#Cluster_name
  • Cluster_name:Tenant_name:User_name
  • Cluster_name-Tenant_name-User_name
  • Cluster_name.Tenant_name.User_name
$ obclient -h10.10.10.1 -uroot@sys#mycluster -P2883 -p -c -A
Enter password:
# Alternatively, use the following command:
$ obclient -h10.10.10.1 -umycluster:sys:root -P2883 -p -c -A
Enter password:

FAQ

Symptom: The following error is returned when ODP is used to connect to OceanBase Database:

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 0

Possible causes: The password specified by the observer_sys_password parameter in ODP is inconsistent with the password of the proxyro user in OceanBase Database. As a result, ODP cannot use this user account to communicate with an OBServer node.

Solution: Use either of the following two methods based on the actual situation:

  1. Connect to OceanBase Database directly, and change the password of the proxyro user to the one that you set for the observer_sys_password parameter when you start ODP.

    ALTER USER proxyro IDENTIFIED BY 'password';
    
  2. Log in to ODP with the root@proxysys account and change the password of proxyro@sys. Then, restart ODP.

    alter proxyconfig set observer_sys_password = 'password';
    

Notice

In the preceding statement, the value of password must be the original password rather than the SHA1-hash value of the password.

Previous topic

Deploy ODP by using OCP
Last

Next topic

Deployment modes
Next
What is on this page
Prepare the environment
Install ODP
Initialize ODP
Start ODP
Procedure
OceanBase Database connection example
FAQ