<?php
include 'head.php';
+?>
+
+<p>
+This service provides <a target="_blank" href="http://dev.mysql.com/doc">MySQL</a> databases to <a target="_blank" href="http://ca.mit.edu/">MIT certificate</a> holders.
+You must choose a MySQL password (which should be different from your Athena account password) when you <a href="do/signup">sign up</a>, and
+then use this interface to create and drop databases. All subsequent SQL commands can be issued from any host, client, and/or script of your choice;
+simply connect to the MySQL server at <b>sql.mit.edu</b> using your username and your new MySQL password.
+You may find it convenient to run scripts using the <a target="_blank" href="http://scripts.mit.edu/web">web script service</a> or
+<a target="_blank" href="http://scripts.mit.edu/cron">shortjobs service</a>.
+</p>
+<p>
+All uses of this service must comply with the <a target="_blank" href="http://web.mit.edu/olh/Welcome/rules.html">MITnet rules of use</a>.
+</p>
+<p>
+This service has been designed with reliability in mind; we utilize RAID, live server mirroring and periodic offline backups to ensure data reliability.
+However, the SIPB MySQL service should not be used to host critical applications that cannot tolerate downtime.
+One nightly backup is available for your locker at <code>/mit/sql/backup/LOCKER_NAME</code>. You should perform additional backups of your data using the <a href="http://scripts.mit.edu/cron">shortjobs service</a> or <a href="http://scripts.mit.edu/faq/10/how-can-i-back-up-or-restore-my-sql-data">phpMyAdmin</a>.
+</p>
+
+<div style="text-align:center; font-style: italic;">
+<?php
+if (!file_exists(TEMP_PATH.'/stat') || filemtime(TEMP_PATH.'/stat')+3600<time()) {
+ $x = fetchRows(DBSelect("SHOW STATUS WHERE Variable_name IN ('Questions','Uptime')"),'Variable_name');
+ $v = $x['Questions']['Value'];
+ $t = $x['Uptime']['Value'];
+ file_put_contents(TEMP_PATH.'/stat',implode("\n",array($v,$t)));
+} else {
+ $x = file_get_contents(TEMP_PATH.'/stat');
+ list($v, $t) = explode("\n", $x);
+}
+$qavg = $v/$t;
+$qunits = array('','k','M','G','T','P','E','Z','Y');
+while (count($qunits) && $v/1000>1) {
+ array_shift($qunits);
+ $v /= 1000;
+}
+printf('sql.mit.edu has served %.3f%s queries', $v, array_shift($qunits));
+$qunits = array('minutes', 'hours', 'days');
+$qdiv = array(60, 60, 24);
+while (count($qdiv) && $t/$qdiv[0]>0) {
+ $t /= array_shift($qdiv);
+ $tunits = array_shift($qunits);
+}
+printf(' in the last %.2f %s (%.2f qps)', $t, $tunits, $qavg);
+?>
+</div>
+
+<?php
include 'foot.php';
?>