The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Tutorial: How to make a reliable database backup
[high]UPDATES[/high] People who ripped my tutorial, without placing a link that point here, as discussed: [high]Tutorial:[/high] Backup A Reliable Database [high]Ripper's Comments:[/high] Good Tutorial, Use It! Please let them know also what you think about it. Thanks. ------------------------------------------------------ This tutorial is [high]vBulletin.org and cPublisher.com copywrited[/high]. All rights reserved. Please ask permission in this thread to copy the tutorial. If granted, post a link that points to this page. Database backups are the most important for MySQL users. If something goes wrong, you can easily restore all your tables and other information contained into. Unfortunately, the vBulletin database backup is reliable only if used on a very small database, due to browser timeout limitations. On a large database the backup can take up to 20 minutes. [high]TOOLS NEEDED[/high] SecureCRT - 2.4MB (for more info, visit SecureCRT site) NOTE: SecureCRT (30 days evaluation) combines the secure logon and data transfer capabilities of Secure Shell (SSH) with the reliability, usability and configurability of a proven Windows terminal emulator. Another popular alternative would be PuTTY (free), a implementation of SSH and Telnet for Windows platforms, along with an xterm terminal emulator. I tried both tools and decided that SecureCRT is the best for my needs because all data (send and receive) is encrypted. Also SecureCRT was much more flexible. I will use SecureCRT in all my steps, for this tutorial. [high]BACKUP PROCEDURE[/high] I assume that you already installed SecureCRT and configured correctly it's options, including the connection protocol, hostname, port and username. If you are not sure about any values, now is the time to contact your host and enquire this information. 01. Create a [high]/backup[/high] folder in your ROOT, using your FTP client. Later on, you will need to know the path to that folder. If you are not sure how to get the path for your backup folder, create a info.php file with the content: <?php phpinfo(32); ?> Upload it into your backup folder and open it in your internet browser. Look for this information: _SERVER["DOCUMENT_ROOT"] > /path/to/backup/folder 02. Login onto your server, using SecureCRT. You will see this information: [USERNAME HOSTNAME]$ _ That means you are successfully logged in and ready do give commands, at the prompt. 03. At the prompt, type: mysqldump --opt -u [high]USERNAME[/high] -p [high]DATABASENAME[/high] > [high]/path/to/backup/folder[/high]/bk060502.sql NOTE: Change the highlighted values with your own. You will need the MySQL database USERNAME that your web host created for you, NOT the one you access to your FTP server. In most cases, they are different. If you are not sure, contact your host to obtain this information. 060502: month date year (easier to remember the last date you backup your database). Change it with the corresponding date of your actual backup. 04. You will be asked for your password: Enter password: _ Enter your MySQL database PASSWORD and hit Enter. NOTE: If you have a large database, it might take up to 20 minutes until your backup is done. Relax and smoke a cigarette or grab a snack. When done, you will see in the SecureCRT window, the command prompt. 05. Login onto your FTP server and go to your /backup folder. You will see there your bk060502.sql file. Save it to a safe place (a CD-RW is good for me). [high]RESTORE PROCEDURE[/high] Well, here it comes that day when your tables are corrupted and nothing works in your beloved vBulletin. If you would not had done a backup, you would probably hit your head against the wall because you lost all your 3845 members and 285,793 threads. Tables corruption can happen pretty often, even if MySQL is known for it's reliability. 01. Login onto your FTP server and upload your bk060502.sql file to your /backup folder. 02. Login onto your server, using SecureCRT. You will see this information: [USERNAME HOSTNAME]$ _ That means you are successfully logged in and ready do give commands, at the prompt. 03. At the prompt, type: mysql -u [high]USERNAME[/high] -p [high]DATABASENAME[/high] < [high]/path/to/backup/folder[/high]/bk060502.sql NOTE: Change the highlighted values with your own. 04. You will be asked for your password: Enter password: _ Enter your MySQL database PASSWORD and hit Enter. When done, you will see in the SecureCRT window, the command prompt. [high]COMMON ERRORS[/high] The most frequent error you might get is this: ERROR 1045: Access denied for user... There are 3 causes for this: 1. You didn't replace the "username" with the MySQL username assigned by your administrator. 2. You supplied the wrong password (usernames and passwords are case-sensitive). 3. You don't have access. Contact your administrator for more assistance. NOTE: Since SecureCRT have all data encrypted, it's possible also to safely specify your password into the command line. I recommend not to do it, just to keep a good habit. In normal conditions, if you do so, it's very possible your password can then be viewed by others using your system. [high]OTHER RESSOURCES[/high] - Moving Servers (vBulletin Technical Manual) - mysqldump (Dumping Table Structure and Data) If this tutorial was useful, please post your comments. Happy backups. |
#42
|
|||
|
|||
compress the backup as it's made:
mysqldump --opt -u_____ -p database | gzip -9 > /var/backups/blablabla.sql.gz note: I have a small database (80mb or so), don't know if this will work on large databases or not |
#43
|
||||
|
||||
is there anywya to grab half or even quarter of the database at a time?
|
#44
|
||||
|
||||
Quote:
-Fish |
#45
|
|||
|
|||
I have been using:
/usr/local/mysql/bin/mysqldump --opt -u____ -p____ forums | gzip > /home/mysqldumps/backup/forums.sql for a while now and it seems to work fine although I haven't had to restore from it. What does the -9 switch do? |
#46
|
|||
|
|||
How do I expand my max_allowed_packet for mysql? I'm trying to restore my backup.sql on my local machine but I got an error saying that a line #: Got a packet bigger than 'max_allowed_packet'.
Thanks in advance! |
#47
|
||||
|
||||
mysqldump: Got error: 1044: Access denied for user: 'o0oKARo0X@localhost' to database 'o0oKARo0X' when using LOCK TABLES
What´s that error? |
#48
|
|||
|
|||
looks like a permissions problem. Make sure 'o0oKARo0X@localhost' is in your grant table
|
#49
|
||||
|
||||
Yes it is but I can?t solve it, it?s getting very annoying
|
#50
|
|||
|
|||
Quote:
|
#51
|
|||
|
|||
237: Got a packet bigger than 'max_allowed_packet'
How can I fix it? |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|