111 lines
4.5 KiB
Twig
111 lines
4.5 KiB
Twig
<div class="card">
|
|
<div class="card-header">{% trans 'Slave replication' %}</div>
|
|
<div class="card-body">
|
|
{% if server_slave_multi_replication %}
|
|
{% trans 'Master connection:' %}
|
|
<form method="get" action="{{ url('/server/replication') }}">
|
|
{{ get_hidden_inputs(url_params) }}
|
|
<select name="master_connection">
|
|
<option value="">{% trans 'Default' %}</option>
|
|
{% for server in server_slave_multi_replication %}
|
|
<option value="{{ server['Connection_name'] }}"{{ master_connection == server['Connection_name'] ? ' selected' }}>
|
|
{{ server['Connection_name'] }}
|
|
</option>
|
|
{% endfor %}
|
|
</select>
|
|
<input id="goButton" class="btn btn-primary" type="submit" value="{% trans 'Go' %}">
|
|
</form>
|
|
<br>
|
|
<br>
|
|
{% endif %}
|
|
|
|
{% if server_slave_status %}
|
|
<div id="slave_configuration_gui">
|
|
{% if not slave_sql_running %}
|
|
{{ 'Slave SQL Thread not running!'|trans|error }}
|
|
{% endif %}
|
|
{% if not slave_io_running %}
|
|
{{ 'Slave IO Thread not running!'|trans|error }}
|
|
{% endif %}
|
|
|
|
<p>{% trans 'Server is configured as slave in a replication process. Would you like to:' %}</p>
|
|
<ul>
|
|
<li>
|
|
<a href="#slave_status_href" id="slave_status_href">{% trans 'See slave status table' %}</a>
|
|
{{ slave_status_table|raw }}
|
|
</li>
|
|
<li>
|
|
<a href="#slave_control_href" id="slave_control_href">{% trans 'Control slave:' %}</a>
|
|
<div id="slave_control_gui" class="hide">
|
|
<ul>
|
|
<li>
|
|
<a href="{{ url('/server/replication') }}" data-post="{{ slave_control_full_link|raw }}">
|
|
{{ not slave_io_running or not slave_sql_running ? 'Full start' : 'Full stop' }}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="ajax" id="reset_slave" href="{{ url('/server/replication') }}" data-post="{{ slave_control_reset_link|raw }}">
|
|
{% trans 'Reset slave' %}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ url('/server/replication') }}" data-post="{{ slave_control_sql_link|raw }}">
|
|
{% if not slave_sql_running %}
|
|
{% trans 'Start SQL Thread only' %}
|
|
{% else %}
|
|
{% trans 'Stop SQL Thread only' %}
|
|
{% endif %}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ url('/server/replication') }}" data-post="{{ slave_control_io_link|raw }}">
|
|
{% if not slave_io_running %}
|
|
{% trans 'Start IO Thread only' %}
|
|
{% else %}
|
|
{% trans 'Stop IO Thread only' %}
|
|
{% endif %}
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<a href="#slave_errormanagement_href" id="slave_errormanagement_href">
|
|
{% trans 'Error management:' %}
|
|
</a>
|
|
<div id="slave_errormanagement_gui" class="hide">
|
|
{{ 'Skipping errors might lead into unsynchronized master and slave!'|trans|error }}
|
|
<ul>
|
|
<li>
|
|
<a href="{{ url('/server/replication') }}" data-post="{{ slave_skip_error_link|raw }}">
|
|
{% trans 'Skip current error' %}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<form method="post" action="{{ url('/server/replication') }}">
|
|
{{ get_hidden_inputs('', '') }}
|
|
{{ 'Skip next %s errors.'|trans|format('<input type="text" name="sr_skip_errors_count" value="1" class="repl_gui_skip_err_cnt">')|raw }}
|
|
<input class="btn btn-primary" type="submit" name="sr_slave_skip_error" value="{% trans 'Go' %}">
|
|
<input type="hidden" name="sr_take_action" value="1">
|
|
</form>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<a href="{{ url('/server/replication') }}" data-post="{{ reconfigure_master_link|raw }}">
|
|
{% trans 'Change or reconfigure master server' %}
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
{% elseif not has_slave_configure %}
|
|
{% apply format('<a href="' ~ url('/server/replication') ~ '" data-post="' ~ get_common(url_params|merge({
|
|
'sl_configure': true,
|
|
'repl_clear_scr': true
|
|
})) ~ '">', '</a>')|raw %}
|
|
{% trans 'This server is not configured as slave in a replication process. Would you like to %sconfigure%s it?' %}
|
|
{% endapply %}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|