Ho più database mysql e voglio eseguire alcune attività di amministrazione su un particolare database. Come faccio a garantire che nessun altro possa connettersi a quel database mentre le attività sono in corso?Come bloccare in esclusiva il database mysql?
risposta
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 chemysqld
sarà in grado di lavorare!
Buona fortuna!
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.
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.
- 1. Come bloccare tutte le tabelle in un mysql db?
- 2. Come ottenere una scrittura esclusiva, ma una lettura non esclusiva?
- 3. Come posso bloccare un database SQLite?
- 4. Come forzare Entity Framework di non bloccare il database
- 5. Come scrivere una query "esclusiva" in SQL?
- 6. Come bloccare il file
- 7. accesso esclusiva non poteva essere ottenuto perché il database è in uso
- 8. Come ripristinare il database MySQL da WAMP?
- 9. Come crittografare il database MySQL esistente?
- 10. Come connettere il database mysql a Dart?
- 11. Come recuperare/ricreare il database predefinito 'mysql' di mysql
- 12. Crea istanza parola esclusiva
- 13. apre il file in modalità esclusiva in C#
- 14. Come si alias un database in MySQL?
- 15. Come inserire in modo sicuro il codice nel database mySQL
- 16. Come migrare il database SQL Server in MySQL?
- 17. Come importare il database Access 2010 (.accdb) in MySQL
- 18. come ottenere il valore più vicino dal database in mysql
- 19. Multisampling non funziona in modalità esclusiva
- 20. Come esportare il testo arabo dal database MySQL in csv usando il rospo per MySQL?
- 21. Come rimuovere un database MySQL?
- 22. Crea database innodb in mysql
- 23. Come eliminare il database mysql tramite il comando shell
- 24. Inserire Backbone.js in database MySQL
- 25. Come risolvere InnoDB: impossibile bloccare ./ibdata1 errore mysql?
- 26. Come modellare una relazione mutuamente esclusiva in SQL Server
- 27. mySQL mostra il database per l'utente
- 28. MYSQL - Seleziona database
- 29. Come esporre un database MySQL come OData
- 30. Mockito: come bloccare il setter getter
Questa è la risposta corretta. Lo usiamo per creare istantanee di interi database per creare nuovi slave di replica. – Evert
È 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. –