2009-05-20 13 views

risposta

0

di avere un paio di opzioni, come la vedo io:

  • Shutdown mysqld, il demone che le connessioni da stabilire ai database. Ciò ha il rovescio della medaglia di impedire l'accesso a a tutti i i database mysql su quel computer.

  • Sposta il file o modifica le autorizzazioni di accesso, in modo che solo l'utente possa utilizzarlo. (Non ho idea se questo funzionerà.) I file di database si trovano da qualche parte come /var/lib/mysql. Basta non dimenticare quando hai finito di cambiarli in qualcosa che mysqld sarà in grado di lavorare!

Buona fortuna!

11

A quanto pare, è possibile utilizzare il comando FLUSH per questo in quanto tale:

> TABELLE filo con READ LOCK;

e poi

> UNLOCK TABLES;

per sbloccare nuovamente il database. Non so se alcune impostazioni devono essere impostate sulle tabelle per consentire un readlock. È possibile verificare ciò provando a fare un inserimento manuale dopo che il database è bloccato e se si riceve un messaggio di errore sulla tabella bloccata, si sa che ha funzionato.

More information on FLUSH command

+1

Questa è la risposta corretta. Lo usiamo per creare istantanee di interi database per creare nuovi slave di replica. – Evert

+0

È stato necessario correggere il collegamento (la linea MySQL 6.0 è stata rilasciata a favore di un diverso ciclo di rilascio, come spiegato su http://lists.mysql.com/packagers/418). Ho fatto il punto di collegamento per i documenti per 5.7, che è attualmente la versione più recente disponibile. A parte questo, un grande +1: questo è ciò che (la maggior parte) SO dovrebbe avere le risposte: conciso, accurato e includendo un puntatore a risorse affidabili per coloro che vogliono approfondire l'argomento. –

0

Se lo può permettere l'arresto del server per il tempo di manutenzione, arrestare il demone e riconfigurarlo di non ascoltare le connessioni di rete. Consenti solo le connessioni tramite un socket UNIX locale.

Quindi accedere localmente sulla stessa macchina, fisicamente o tramite SSH. Finché nessun altro ha accesso alla macchina, questo ti garantirà di essere solo. Al termine, ripristinare il file di configurazione originale e riavviare il daemon.

Un approccio diverso sarebbe quello di disabilitare temporaneamente tutti gli account utente ma "root" (o qualsiasi altra cosa si usi per la manutenzione) per il particolare database. Questo ha tuttavia l'inconveniente di incasinare effettivamente i dati dell'account, che è un po 'più rischioso di una semplice prevenzione delle connessioni di rete.

Problemi correlati