MySQL Restoring And Dumping/Backing UP MySQL Data/Tables/Databases -

MySQL Restoring And Dumping/Backing UP MySQL Data/Tables/Databases

Backing MySQL Databases

Backing Up/Dumping All Mysql Databases To A Single File

mysqldump --all-databases -u admin -p > allmysqldatabases.sql

The "-all-databases" clause is pretty obvious isn't it?  It means that it will backup all databases.

The "-u admin" means login using the user "admin", if you have another user such as root or a specific user that can access/dump all databases you can use that one.

The "> allmysqldatabases.sql" part tells it to output all the database information to a file called "allmysqldatabases.sql" and don't forget the ">" as that is redirection and is what writes all the info to a file.  Without redirecting the output, you'll see lines and lines of gibberish on your screen, because otherwise MySQL assumes you want to print all the output to the screen.

This method is a quick and dirty way to migrate several databases at once.  After that if you want to get fancy, you can gzip your database dump, this will protect against unknown data corruption and of course make the file transfer quicker since compressing with gzip reduces the size.

For example the file was originally 279MB and gzip took it to 179MB.

To gzip your backed up mysql databases just run this command (works on any file other than just .sql dumps of course):

gzip allmysqldatabases.sql and it leaves you with "allmysqldatabases.sql.gz" in compressed gzip format.

Backing Up A Single Mysql Database

mysqldump --databases mysql -u admin -p > mysqlbackup.sql

The "--databases" clause specifies you are going to backup one or more database as specified in the command.

If you wanted databases "mysql" and "someothedb" you would use "--databases mysql someotherdb"

Restoring MySQL Databases

What fun is backing up without being able to restore?  Restoring can be a bit more tricky and there's a few different scenarios and options you have. 

I'll focus on the most common one, a new MySQL Server install with no previous data or tables.

I'm assuming you've transferred your database backup "allmysqldatabases.sql.gz"

To restore all your database(s) and information to MySQL just run this following command:

mysql -u root < allmysqldatabases.sql

 

Issues/Problems/Complications with Restoring MySQL Databases

One issue I have is that despite backing up and restoring the database "mysql" I cannot authenticate successfully with my old login information.  I don't know why because a query of the mysql table shows the usernames I am expecting to see.

I'll have to research more on this point, but the good news is that all the other tables/databases and entries are there as expected.
 

*UPDATE

I knew everything was there and that the "mysql" table was fully populated.  All I had to do was restart mysql server (mysqld) and everything worked as normal with the old passwords and privileges I originally had.


  • Centos 6.6/6.9 KVM VM Kernel Panic On Boot - Kernel panic - not syncing: Attempted to kill init!
  • Cannot allocate TUN/TAP dev dynamically - FreeBSD/OpenBSD OpenVPN Client error Solution
  • Linux Mint/Ubuntu/Debian apt how to downgrade a package
  • Ubuntu Linux Mint How To Exclude Stop Package from being Upgraded or Installed
  • Intel NUC Lower Power Green Computing Boxes Review/Comparison of J3160 and J3455 Models
  • How to backup entire computer Linux Mint Ubuntu with tar
  • tar how to ignore failed reads and not exit
  • kdenlive titles/text renders as white screen when using .sh script
  • [1035724.274610] [drm:intel_pipe_update_end [i915_bpo]] *ERROR* Atomic update failure on pipe A (start=62076478 end=62076479) time 102 us, min 894, max 899, scanline start 893, end 900 W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1.bin
  • ffmpeg how to watermark and concatenate in one command
  • /usr/bin/ld: cannot find -lboost_system-mt-s /usr/bin/ld: cannot find -lboost_filesystem-mt-s /usr/bin/ld: cannot find -lboost_program_options-mt-s /usr/bin/ld: cannot find -lboost_thread-mt-s collect2: error: ld returned 1 exit status make: *** [cag
  • Wine uninstalled broken on Linux Mint
  • ffmpeg trouble concatenating similar but different files
  • ffmpeg Unable to Use Hardware Encoding with Nvidia 3.40 Driver and GT210 card
  • Linux Mint USB Kernel Tainted and Locked Port/Dev File
  • ffmpeg Linux Mint download, compile and install howto
  • OpenVZ error : Container start failed (try to check kernel messages, e.g. "dmesg | tail") Locked by: pid 166638, cmdline vzctl start 888171
  • How to extract view contents of initramfs image gzip'd
  • Linux how to copy GPT partition table with dd
  • Centos 7 How To Change Hostname