MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Memulihkan instance mySQL dari akun pengguna lain (macOS)

Saya menggunakan mac teman saya untuk sementara sampai saya sendiri sedang diservis. Jadi awal minggu ini, saya menghapus akun pengguna saya di mac-nya yang memiliki banyak database yang saya butuhkan. Saya telah mencadangkan sebagian besar data pengguna sebelum menghapus akun itu, tetapi segera saya menyadari bahwa saya melewatkan pencadangan basis data. Hal yang beruntung dan mungkin alasannya adalah bahwa direktori data database umumnya berada di luar akun pengguna. Dalam artikel ini, saya akan menyebutkan poin-poin tentang bagaimana saya mendapatkan kembali data DB ini menggunakan akun pengguna teman saya (atau Anda bahkan dapat membuat yang baru dan melakukan langkah yang sama).

  • Pastikan mariadb masih terpasang dengan menjalankan brew install mariadb .Saya menemukan bahwa itu tersedia tetapi homebrew tidak memiliki akses ke direktori instal karena dibuat dari akun pengguna yang berbeda. Jadi pertama-tama kita pulihkan ini dengan menjalankan:
sudo chown -R $(whoami) /usr/local/bin

Jika perintah melemparkan dump kesalahan yang menunjukkan folder mana yang tidak dapat diaksesnya, Anda dapat menjalankan perintah yang sama untuk setiap folder. Saya juga menjalankan brew upgrade mariadb untuk tetap upto data dengan instalasi mariadb yang lebih baru (walaupun saya tidak menyarankan menjalankan ini secara umum sampai Anda telah mencadangkan database).

  • Selanjutnya Anda harus mencari tahu direktori data mana yang digunakan mariadb dan menjalankan chown juga. Ini dapat dilakukan dengan menjalankan:
brew services list

Ini akan memberikan daftar layanan yang sedang berjalan dan konfigurasi yang dijalankannya. Cukup buka konfigurasi tugas mariadb dan lihat parameter --datadir dalam XML--harus berada di dalam blok argumen. Dalam kasus saya, ini adalah --datadir=/usr/local/var/mysql . Sekarang salin jalur itu dan jalankan:

sudo chown -R $(whoami) /usr/local/var/mysql

Pada titik ini, Anda mungkin bertanya-tanya, mengapa tidak menyalin direktori data ke mac sendiri dan kemudian membuka database secara langsung? Masalahnya di sini adalah bahwa folder tersebut hanya memiliki .ibd dan .frm file yang benar-benar tidak dapat diimpor oleh mySQL. Jadi saya harus menjalankan server mysql lagi dengan dir data ini dan kemudian mengekspornya.

  • Selanjutnya, saya harus menghentikan server mysql yang sedang berjalan untuk memastikan bahwa saya dapat memulai mysql dengan lancar. Saya melakukan ini dengan menjalankan:
brew services stop mariadb
ps aux | grep mysql

Perintah terakhir adalah memeriksa bahwa tidak ada instance mysql lain yang berjalan. Jika perintah mengembalikan semua proses yang menjalankan mysql, maka proses tersebut harus dimatikan menggunakan perintah kill -9 atau yang lain, buka Monitor Aktivitas, gunakan pencarian untuk memfilter mysql dan paksa matikan secara manual.

Sekarang, instance mysql baru dapat dimulai dengan menggunakan:

brew services start mariadb

Atau, Anda bahkan dapat memanggil program yang ditemukan di folder bin yang disebutkan dalam file XML dari konfigurasi layanan homebrew yaitu mengambil string program pertama dan mengganti mysqld_safe ke mysql.server start dan jalankan perintah. Dalam kasus saya, saya melakukan ini dengan menjalankan:

/usr/local/opt/mariadb/bin/mysql.server start

Itu akan mengembalikan SUKSES! jika layanan dimulai dengan sukses. Jika tidak, Anda harus memeriksa log kesalahan (ada di /usr/local/var/mysql folder untuk saya) untuk mencari tahu apa yang salah dan menyelesaikannya dengan beberapa googling.

Dan cukup banyak, Anda sekarang dapat membuat cadangan database seperti yang biasa Anda lakukan. Saya melakukan ini dengan menjalankan:

mysql -u root -p<password>
show databases

Dan ini akan memberikan daftar semua database. Dan kemudian jalankan perintah backup untuk setiap database yang ingin Anda backup sebagai:

mysqldump -u root -p<password> dbname > dbname.sql

Dan itu cukup banyak bagaimana hal itu dilakukan. Dan saya mengirimkan database ke laptop saya sendiri dan selesai.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 4 Cara Mendapatkan Kumpulan Database di MariaDB

  2. Replikasi MySQL dengan ProxySQL di Server WHM/cPanel:Bagian Kedua

  3. MariaDB JSON_UNQUOTE() Dijelaskan

  4. Memigrasikan Azure Database untuk MySQL/MariaDB ke Server Lokal

  5. Perbaiki "ERROR 1136 (21S01):Jumlah kolom tidak cocok dengan jumlah nilai pada baris 1" saat Memasukkan Data di MariaDB