diff --git a/ansible/roles/venus/defaults/main.yml b/ansible/roles/venus/defaults/main.yml index 5bd790a85d..9768e460a2 100644 --- a/ansible/roles/venus/defaults/main.yml +++ b/ansible/roles/venus/defaults/main.yml @@ -42,6 +42,19 @@ venus_database_name: "venus" venus_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}venus{% endif %}" venus_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" +#################### +# Database sharding +#################### +venus_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ venus_database_shard_id }}{% else %}{{ database_user }}{% endif %}" +venus_database_shard_id: "{{ mariadb_default_database_shard_id | int }}" +venus_database_shard: + users: + - user: "{{ venus_database_user }}" + password: "{{ venus_database_password }}" + rules: + - schema: "{{ venus_database_name }}" + shard_id: "{{ venus_database_shard_id }}" + #################### # Docker diff --git a/ansible/roles/venus/tasks/bootstrap.yml b/ansible/roles/venus/tasks/bootstrap.yml index 26f42f3458..79d3b500b7 100644 --- a/ansible/roles/venus/tasks/bootstrap.yml +++ b/ansible/roles/venus/tasks/bootstrap.yml @@ -7,7 +7,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ venus_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ venus_database_name }}" run_once: True @@ -23,7 +23,7 @@ module_args: login_host: "{{ database_address }}" login_port: "{{ database_port }}" - login_user: "{{ database_user }}" + login_user: "{{ venus_database_shard_root_user }}" login_password: "{{ database_password }}" name: "{{ venus_database_user }}" password: "{{ venus_database_password }}"