1 <div class="card"> 2 <div class="card-header">{% trans 'Slave replication' %}</div> 3 <div class="card-body"> 4 {% if server_slave_multi_replication %} 5 {% trans 'Master connection:' %} 6 <form method="get" action="{{ url('/server/replication') }}"> 7 {{ get_hidden_inputs(url_params) }} 8 <select name="master_connection"> 9 <option value="">{% trans 'Default' %}</option> 10 {% for server in server_slave_multi_replication %} 11 <option value="{{ server['Connection_name'] }}"{{ master_connection == server['Connection_name'] ? ' selected' }}> 12 {{ server['Connection_name'] }} 13 </option> 14 {% endfor %} 15 </select> 16 <input id="goButton" class="btn btn-primary" type="submit" value="{% trans 'Go' %}"> 17 </form> 18 <br> 19 <br> 20 {% endif %} 21 22 {% if server_slave_status %} 23 <div id="slave_configuration_gui"> 24 {% if not slave_sql_running %} 25 {{ 'Slave SQL Thread not running!'|trans|error }} 26 {% endif %} 27 {% if not slave_io_running %} 28 {{ 'Slave IO Thread not running!'|trans|error }} 29 {% endif %} 30 31 <p>{% trans 'Server is configured as slave in a replication process. Would you like to:' %}</p> 32 <ul> 33 <li> 34 <a href="#slave_status_href" id="slave_status_href">{% trans 'See slave status table' %}</a> 35 {{ slave_status_table|raw }} 36 </li> 37 <li> 38 <a href="#slave_control_href" id="slave_control_href">{% trans 'Control slave:' %}</a> 39 <div id="slave_control_gui" class="hide"> 40 <ul> 41 <li> 42 <a href="{{ url('/server/replication') }}" data-post="{{ slave_control_full_link|raw }}"> 43 {{ not slave_io_running or not slave_sql_running ? 'Full start' : 'Full stop' }} 44 </a> 45 </li> 46 <li> 47 <a class="ajax" id="reset_slave" href="{{ url('/server/replication') }}" data-post="{{ slave_control_reset_link|raw }}"> 48 {% trans 'Reset slave' %} 49 </a> 50 </li> 51 <li> 52 <a href="{{ url('/server/replication') }}" data-post="{{ slave_control_sql_link|raw }}"> 53 {% if not slave_sql_running %} 54 {% trans 'Start SQL Thread only' %} 55 {% else %} 56 {% trans 'Stop SQL Thread only' %} 57 {% endif %} 58 </a> 59 </li> 60 <li> 61 <a href="{{ url('/server/replication') }}" data-post="{{ slave_control_io_link|raw }}"> 62 {% if not slave_io_running %} 63 {% trans 'Start IO Thread only' %} 64 {% else %} 65 {% trans 'Stop IO Thread only' %} 66 {% endif %} 67 </a> 68 </li> 69 </ul> 70 </div> 71 </li> 72 <li> 73 <a href="#slave_errormanagement_href" id="slave_errormanagement_href"> 74 {% trans 'Error management:' %} 75 </a> 76 <div id="slave_errormanagement_gui" class="hide"> 77 {{ 'Skipping errors might lead into unsynchronized master and slave!'|trans|error }} 78 <ul> 79 <li> 80 <a href="{{ url('/server/replication') }}" data-post="{{ slave_skip_error_link|raw }}"> 81 {% trans 'Skip current error' %} 82 </a> 83 </li> 84 <li> 85 <form method="post" action="{{ url('/server/replication') }}"> 86 {{ get_hidden_inputs('', '') }} 87 {{ 'Skip next %s errors.'|trans|format('<input type="text" name="sr_skip_errors_count" value="1" class="repl_gui_skip_err_cnt">')|raw }} 88 <input class="btn btn-primary" type="submit" name="sr_slave_skip_error" value="{% trans 'Go' %}"> 89 <input type="hidden" name="sr_take_action" value="1"> 90 </form> 91 </li> 92 </ul> 93 </div> 94 </li> 95 <li> 96 <a href="{{ url('/server/replication') }}" data-post="{{ reconfigure_master_link|raw }}"> 97 {% trans 'Change or reconfigure master server' %} 98 </a> 99 </li> 100 </ul> 101 </div> 102 {% elseif not has_slave_configure %} 103 {% apply format('<a href="' ~ url('/server/replication') ~ '" data-post="' ~ get_common(url_params|merge({ 104 'sl_configure': true, 105 'repl_clear_scr': true 106 })) ~ '">', '</a>')|raw %} 107 {% trans 'This server is not configured as slave in a replication process. Would you like to %sconfigure%s it?' %} 108 {% endapply %} 109 {% endif %} 110 </div> 111 </div>