matt g <[EMAIL PROTECTED]> wrote on 05/25/2005 12:45:22 PM: > While updating a record in a database, I inadvertantly forgot a > "where" statement; so instead of changing just one record, I changed > all 900 records in the database. > > I've been trying to figure out how to fix this. My latest backup > (through mysqldump) was about fifteen days ago. I'm fine with > restoring the database to that point, and updating the rest by hand, > but I'm having problems doing so. > > Some tutorials that I've read (such as this one > http://www.devshed.com/c/a/MySQL/Backing-up-and-restoring-your- > MySQL-Database/2/ > ) say that I should do the following: > _______________ > > /usr/local/mysql/bin/mysql -u [username] -p [password] > [database_to_restore] < [backupfile] > _______________ > > But when I execute that command from the shell (starting from the > directory in which the backup exists), I get a long message like this: > > /usr/local/mysql/bin/mysql Ver 12.22 Distrib 4.0.21, for pc-linux (i686) > Copyright (C) 2002 MySQL AB > This software comes with ABSOLUTELY NO WARRANTY. This is free software, > and you are welcome to modify and redistribute it under the GPL license > Usage: /usr/local/mysql/bin/mysql [OPTIONS] [database] > -?, --help Display this help and exit. > --auto-rehash Enable automatic rehashing. One doesn't need to use > 'rehash' to get table and field completion, but startup > and reconnecting may take a longer time. Disable with > --disable-auto-rehash. > > etc. etc. > > > What am I doing wrong? And is there an easier way to do this? > > Thanks in advance for your help!!!!! >
You can try doing the same steps, but break it down so that you do them one at a time. FIRST: open the MySQL CLI and attach to the server hosting the database you want to restore: (in a command shell) mysql -h [name or IP address of server] -u [your mysql account] -p Respond with your password when you are prompted. You should now be inside a MySQL client session. SECOND: make your destination database the active database for your session: USE [database name]; Third: process your MySQL dump file: source [fully-qualified path to dump file]; This is the slower, manual way of doing what your command line did all at once. One other idea, on Win32 machines there can be NO SPACE between the -p and the actual password (should you opt to put it in the command). You might try reformatting your command to remove that space. Shawn Green Database Administrator Unimin Corporation - Spruce Pine